判断一个数是否为素数
#include<stdio.h>
#include<math.h>
int isSu(int x) {
int i;
int len;
if(x<=1) return 0;
// (int)sqrt(x)+1 注意这里要先强制转换为int,否则double
// 转换成int,由高类型向低类型转化会发生错误。
// 计算枚举的上届,为防止double值带来的精度损失,所以采取根号值取整
// 之后再加1,宁愿多枚举一个数字,也不能漏掉
len = (int)sqrt(x)+1;
for(i=2;i<len;i++) {
if(x%i==0) return 0;
}
return 1;
}
int main() {
int n;
while(scanf("%d",&n)!=-1) {
if(isSu(n))
puts("yes");
else
puts("no");
}
return 0;
}
判断一个数是否为素数
浙公网安备 33010602011771号