- 题目描述:
-
给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
- 输入:
-
测试数据有多组,每组输入一个数n。
- 输出:
-
对于每组输入,若是素数则输出yes,否则输入no。
- 样例输入:
-
13
- 样例输出:
-
yes
思路:
素数判定的方式,通常是从1搜到sqrt(n),看n是否能整除他们。
代码:
#include <stdio.h> #include <math.h> int main(void) { int n; int i; unsigned un; while (scanf("%d", &n) != EOF) { if (n <= 1) { printf("no "); continue; } un = n; for (i=2 ; i<=(int)sqrt(un); i++) { if (un % i == 0) break; } if(i == (int)sqrt(un)+1) printf("yes "); else printf("no "); } return 0; } /************************************************************** Problem: 1047 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:928 kb ****************************************************************/