?这道题难在如何判断质数,我用一个while循环嵌套一个for循环来判断是否是质数。而且字数和不能大于它的口袋容量
#include<stdio.h>
int main()
{
int sum = 0;
int j;
int arr[1000];
int index = 0;
int L;//口袋容量
scanf("%d", &L);
int i = 2;
while (1)
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
break;
}
if (j == i) {
//是质数
if (sum+i>L) {
//sum + i > L ;跳出
break;
}
arr[index] = i;
sum = sum + arr[index];
printf("%d\n", arr[index]);
index++;
}
i++;
}
printf("%d", index);
return 0;
}
?