输入一个数,判断其是否为素数;
本题有多组测试样例。
输入规则如下:
第一行为一个整数,样例组数T;
第二至第t+1行每行都有一个整数a(a >= 2),表示需要处理的数;
如果是素数则输出“yes”,否则输出“no”,每个样例的输出占1行;
输入输出样例:
输入:
2
99
17
输出:
no
yes
就是判断素数问题,本来我是想用sqrt的,但是不知道为什么过不了,所以就用了\2,本来用前者是能够减少时间的,不过检测数据小,都没有关系
#include<stdio.h>
int main() {
int t, a, flag = 1;
scanf("%d", &t);
while (t--) {
scanf("%d", &a);
for (int i = 2; i < a/2; i++) {
if (a % i == 0) {
printf("no\n");
flag = 0;
break;
}
}
if (flag == 1) {
printf("yes\n");
}
flag = 1;
}
return 0;
}
标程
1.#include <stdio.h>
2.
3.int main()
4.{
5. int t, a, i;
6. scanf("%d", &t);
7. for (; t > 0; t--)
8. {
9. scanf("%d", &a);
10. for (i = 2; i <= a/2; i++)
11. {
12. if (a % i == 0) break;
13. }
14. if (i > a/2) printf("yes\n");
15. else printf("no\n");
16. }
17. return 0;
18.}