输入一个数,判断其是否为素数;测试
本题有多组测试样例。blog
输入规则以下:io
第一行为一个整数,样例组数T;class
第二至第t+1行每行都有一个整数a(a >= 2),表示须要处理的数;数据
若是是素数则输出“yes”,不然输出“no”,每一个样例的输出占1行;di
输入输出样例:时间
输入:while
2return
99printf
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.}