[1002]prime
输入一个数,判断其是否为素数;
本题有多组测试样例。
输入规则如下:
第一行为一个整数,样例组数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.}