【问题描述】输入一个正整数n,判断其是否为完全平方数,如果是,输出YES,如果不是,则输出NO。要求定义并调用函数IsSqure(n),判断n是否为完全平方数。
所谓完全平方数是指一个数可以表示为某一个数的平方形式,如1可以表示为1*1,所以1是完全平方数,9可以表示3*3,9也是完全平方数。
【样例输入】10
【样例输出】NO
【样例输入】100
【样例输出】YES
【样例说明】100=10*10 是完全平方数,输出YES,10不是完全平方数,输出NO。
#include <stdio.h>
// 判断 n 是否为完全平方数的函数
int IsSquare(int n) {
int i = 1;
while (i * i < n) {
i++;
}
return i * i == n;
}
int main() {
int n;
// 获取输入正整数 n
scanf("%d", &n);
// 调用函数 IsSquare 判断是否为完全平方数,并输出结果
if (IsSquare(n)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}