輸入一個數,判斷其是否爲素數;測試
本題有多組測試樣例。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.}