问题描述
若一个整数n能表示成某个整数m的平方的形式,则称这个数为完全平方数。写一个程序判断输入的整数是不是完全平方数。
输入说明
输入数据为一个整数n,0<=n<10000000。
输出说明
如果n是完全平方数,则输出构成这个完全平方数的整数m,否则输出no。
输入样例
样例1:
144
样例2:
15
输出样例
样例1输出:
12
样例2输出:
no
#include <stdio.h>
#include <math.h>
//完全平方数
int main() {
int n;
scanf("%d", &n);
int i, flag = 0;
for (i = 0; i <= sqrt(n); i++) {//sqrt()头文件为math.h
if (i * i == n) {
flag = 1;
break;
}
}
if (flag)
printf("%d\n", i);
else
printf("no\n");
return 0;
}