Лучшая программа для оценки квадратного корня числа
Я новичок в языке программирования C, и мне дали задание написать программу, которая вычисляет квадратный корень из натурального числа без использованияmath.h
или любая другая библиотечная функция, кромеstdio.h
.
Смотрите, мы работаем сint
во всем, поэтому для не квадратных чисел мы находим пол квадратного корня из п. Теперь я сделал эту программу, но она работает только для идеальных квадратов, но для не квадратов она не работает. Я цитирую это здесь, я надеюсь, что есть какой-то способ изменить это.
#include <stdio.h>
main()
{
int a;
scanf("%d", &a);
int s = 1, l = a, mid = 0;
while(s < l)
{
mid=(s + l)/2;
if((mid * mid) == a)
{
break;
}
else if ((mid * mid) < a)
{
s = mid + 1;
}
else
{
l = mid;
}
}
printf("%d", mid);
}
Большое спасибо за вашу помощь, и, пожалуйста, поправьте меня, когда сможете.
Отредактировано: извините за неудобства.