題目描述
本題的目標很簡單,就是判斷一個給定的正整數是否素數。
輸入格式:
輸入在第一行給出一個正整數
N
(≤?10),隨后N
行,每行給出一個小于231的需要判斷的正整數。
輸出格式:
對每個需要判斷的正整數,如果它是素數,則在一行中輸出
Yes
,否則輸出No
。
輸入樣例:
2 11 111
輸出樣例:
Yes No
程序代碼
?
#include <stdio.h>
#include <math.h>
// 判斷一個數是否是素數
int isPrime(int num) {if (num < 2) {return 0; // 小于2的數都不是素數}for (int i = 2; i <=sqrt(num); i++) {if (num % i == 0) {return 0; // 可以整除的數不是素數}}return 1; // 是素數
}int main() {int N;scanf("%d", &N); // 輸入需要判斷的正整數的個數for (int i = 0; i < N; i++) {int num;scanf("%d", &num); // 輸入需要判斷的正整數if (isPrime(num)) {printf("Yes\n"); // 是素數} else {printf("No\n"); // 不是素數}}return 0;
}