Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Алгоритм извлечения корня


Автор: psixtes 19.5.2008, 15:59
Нужно написать итерационный алгоритм извлечения квадратного корня, не используя sqrt и pow. smile  Помогите пожалуйста. 

Автор: t_gran 20.5.2008, 04:34
Держи, решено методом Герона:
Код

#include <stdio.h>
//--------------------------//
float mysqrt (float inX, float inEps)
{
   float y= 1, dy= 1, y1;
   while (dy > inEps)
   {
      y1= 1. / 2 * (y + inX / y);
      dy= y1 > y ? y1 - y : y - y1;
      y= y1;
   }
   return y;
}
//--------------------------//
int main ()
{
   float x;
   printf ("X: ");
   scanf ("%f", &x);
   float eps;
   printf ("EPS: ");
   scanf ("%f", &eps);
   printf ("SQRT= %f\n", mysqrt (x, eps));
   return 0;
}

Автор: psixtes 20.5.2008, 17:31
t_gran, спасибо большое! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)