置顶
第五周 素数和问题
summerlin1992
发表于2020年10月07日
#include<stdio.h>
int isprime(int digit);
int main()
{
int n, m;
scanf_s("%d %d", &n, &m);
int sum, count, digit;
if (n == 1 && m == 1) {
sum = 2;
printf("%d", sum);
}
else if (n == 1 && m > 1) {
sum = 2;
count = 1;
digit = 3;
while (digit <= 200 && m > count) {
if (isprime(digit)) {
count = count + 1;
sum = sum + digit;
}
digit = digit + 1;
}
printf("%d", sum);
}
else if(n>1&&m>1){
sum = 0;
count = 1;
digit = 2;
while (digit <= 200) {
digit = digit + 1;
if (isprime(digit)) {
count = count + 1;
if (count >= n) {
sum = sum + digit;
}
}
if (count >= m)break;
}
printf("%d", sum);
}
return 0;
}
int isprime(int digit)
{
int isprime = 1;
for (int i = 2;i < digit;i++)
{
if (digit % i == 0)
{
isprime = 0;
break;
}
}
return isprime;
}
经调试,尝试了各种情况都是对的,但是测试就是通不过,为什么呢?
分享
0
回复