Вычисление квадратного корня - C (СИ) (73690)

Узнай цену своей работы

Формулировка задачи:

я уже смотрел на форуме, какой у квадратного корня алгоритм. В основу моего алгоритма тоже положен метод касательных. Но! У моего алгоритма есть существенное отличие от предыдущих. Вот в чем оно заключается: 1) изначально задается число (это есть у всех) 2) (теперь главное) 3) это число делится на 4 столько раз пока не получится число лежащее в интервале (0,5; 2) 4) количество делений на 4 мы подсчитываем 5) в качестве нулевого приближения берём 1 6) всего 6-ти итераций достаточно, чтобы получить квадратный корень с точностью более 20 знаков 7) умножаем полученное число на 2, столько раз сколько в своё время делили на 4. 8) результат выносится на экран. P.S. Мне кажется, что этот способ более быстрый, ибо умножение и деление на степень 2 происходит быстрее всего.
#include <stdio.h>
#include <stdlib.h>
 
int n = 0, i;
double x, x1 = 1.0;
double kko2();
 
int main()
{
    scanf("%Lf", &x);
    while(x > 2){
        x /= 4;  n++;}
 
    printf("%15.15Lf\n", kko2(x, n));
    getch();
    return 0;
}
double kko2(){
    for(i = 1; i - 6; i++)
        x1 = (x/x1 + x1) / 2;
 
    while (n--)  x1 *= 2 ;
    return x1;
}

Решение задачи: «Вычисление квадратного корня»

textual
Листинг программы
int a;
scanf("%d",&a);
int b[a];

Объяснение кода листинга программы

  1. В начале кода объявляется переменная a типа int, которая будет использоваться для хранения значения, введенного пользователем.
  2. Затем с помощью функции scanf() пользователю предлагается ввести значение для переменной a.
  3. После успешного ввода значения, функция scanf() возвращает ненулевой статус, который используется для проверки корректности ввода.
  4. Затем происходит объявление массива b типа int, размер которого определяется значением переменной a.
  5. Массив b инициализируется значениями, которые будут использоваться в дальнейшем вычислении квадратного корня.
  6. Код не содержит дополнительной проверки на некорректный ввод или выход за границы массива, поэтому предполагается, что пользователь будет вводить корректные значения для переменной a и массив b будет содержать достаточное количество элементов для выполнения задачи.

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы