简单,快速,稳定
成品下载:化简App下载
源代码:
//base on zm
#include<stdio.h>
int main()
{
double a,b,c,d,f,max=0,max1=0;
int m=0,n=1,n1,m1;
printf("这是一个开根号的程序\n请输入一个数:\n");
//输入内容
scanf("%lf",&a);
n=a;
//用于减少循环,优化
for(n1=1;m1<=a;n1++)
m1=n1*n1;
//解根号前的最大系数
for(f=2,c=0,d=1;f<=m1;f++)
{
b=a/(f*f);
m=(int)b;
//核心代码
if(b-m<=0.000000001&&f>c)
{
c=f;
d=b;
}
}
//输出结果
if(c>0&&d>1)
{
printf("%d开根号是:%.0lf√%.0lf\n",n,c,d);
}
else
{
if(d==1&&c>0)
printf("%d开根号是:%.0lf\n",n,c);
else
printf("%d开根号是:√%.0lf\n",n,a);
}
}