题目1047:素数判定
题目1047:素数判定
时间限制:1 秒
内存限制:32 兆
特殊判题:否
- 题目描述:
-
给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
- 输入:
-
测试数据有多组,每组输入一个数n。
- 输出:
-
对于每组输入,若是素数则输出yes,否则输入no。
- 样例输入:
-
13
- 样例输出:
-
yes
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<stack> #include<math.h> using namespace std; bool judge(int x) { if(x<=1) return false; int bound = (int)(sqrt(x)+1); //先计算出来,可以节约时间。加1是为了防止sqrt函数使精度缺失 for(int i=2; i<bound; i++) { if(x%i==0) return false; } return true; } int main() { int x; while(scanf("%d",&x)!=EOF) { puts(judge(x)? "yes":"no"); } return 0; }