为什么我的代码提交只有60分呢 测试一切正常
标题
完全平方数
类别
基本计算
时间限制
1S
内存限制
256Kb
问题描述
若一个整数n能表示成某个整数m的平方的形式,则称这个数为完全平方数。写一个程序判断输入的整数是不是完全平方数。
输入说明
输入数据为一个整数n,0<=n<10000000。
输出说明
如果n是完全平方数,则输出构成这个完全平方数的整数m,否则输出no。
输入样例
样例1:
144
样例2:
15
输出样例
样例1输出:
12
样例2输出:
no
#include
int main () {
int n, m = 0, i;
scanf("%d", &n);
for (i = 1; i < n / 2; i++) {
if (i * i == n) {
m = i;
break;
}
}
if (m == 0)
printf("no");
else
printf("%d", m);
return 0;
}
望采纳
修改后的代码:
#include <stdio.h>
#include <math.h>
int main() {
int n;
scanf("%d", &n);
// 使用 math.sqrt 函数求出 n 的平方根
double m = sqrt(n);
// 如果 m 是整数,则 n 是完全平方数
if (m == (int)m) {
printf("%d", (int)m);
} else {
printf("no");
}
return 0;
}
你想想看n=4和n=1时你的代码符不符合