pta题库答案c语言本题的目标很简单,就是判断一个给定的正整数是否素数。 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 31 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
时间: 2024-12-10 14:55:06 浏览: 14
输入一个正整数,判断是不是素数(C++)
题目要求您编写一个C语言程序来判断输入的正整数是否为质数(素数)。以下是解决这个问题的一个基本算法:
#include <stdio.h>
// 判断是否为素数的辅助函数
int isPrime(int num) {
if (num <= 1) return 0; // 1不是质数,0和负数也不考虑
for (int i = 2; i * i <= num; i++) { // 只需检查到其平方根即可
if (num % i == 0) return 0; // 如果能被整除,则不是质数
}
return 1; // 否则,它是质数
}
int main() {
int N;
scanf("%d", &N); // 输入正整数的数量
while (N--) { // 遍历每一个输入的数字
int num;
scanf("%d", &num);
if (isPrime(num)) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
在这个程序中,我们首先读取输入的正整数N
,然后循环处理每个数值。对于每个数字,我们调用isPrime
函数进行判断,如果是质数就输出"Yes",否则输出"No"。