分析
对于一个正整数,可以表示成
,n从一个较大的数开始自减。如果b=1,即n是A的平方根,那么直接输出a(=n),否则输出
。另用一个tag来表示A能不能化简,不能化简则以sqrt(A)来输出。
代码
#include <stdio.h>
int main()
{
int x, tag = 0;
int a, b, n;
scanf("%d", &x);
for (n = 1000; n > 1; n--)
{
if (x % (n * n) == 0)
{
a = n;
b = x / (n * n);
tag = 1;
break;
}
}
if (tag == 1)
{
if (b == 1)
printf("%d\n", a);
else
printf("%d*%d\n", a, b);
}
if (tag == 0)
printf("sqrt(%d)", x);
return 0;
}
结果