本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
输入样例:
2
11
111
输出样例:
Yes
No
(由于题目简单,我就不写注释了,如果有看不懂的可以私信我,看到会回)
代码如下:
#include<stdio.h>
#include<math.h>
int sushu(long long n) {
int flag = 1;
int i;
if (n <= 1) {
flag = 0;
}
else if (n == 2) {
flag = 1;
}
else if (n % 2 == 0) {
flag = 0;
}
else {
for (i = 3; i <= sqrt(n); i += 2) {
if (n % i == 0) {
flag = 0;
}
}
}
return flag;
}
int main() {
long long m;
int n, i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%lld", &m);
if (sushu(m)) {
printf("Yes\n");
}
else {
printf("No\n");
}
}
return 0;
}
本文介绍了一个简单的素数判断算法,通过C语言实现,能够高效地判断小于2^31的正整数是否为素数。文章提供了完整的代码示例,包括输入多个待判断数值的功能。
1624

被折叠的 条评论
为什么被折叠?



