程序题:洛谷, P5723 【深基4.例13】质数口袋

https://www.luogu.com.cn/problem/P5723

题目描述

小 A 有一个质数口袋,里面可以装各个质数。他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。

口袋的负载量就是口袋里的所有数字之和。

但是口袋的承重量有限,装的质数的和不能超过 L。给出 L,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数的个数,数字之间用换行隔开。

输入格式  一行一个正整数 L。

输出格式   将这些质数从小往大输出,然后输出最多能装下的质数个数。 

我独立编写的程序: 

 1 //洛谷  P5723  质数口袋 
 2 #include "stdio.h" 
 3 int isPrimeFunc(int num){ // 函数isPrimeFunc(num)用于判断 num 是否为质数,如是,返回1,如否,返回0.
 4     int isPrime =1;
 5     for (int j=2; j*j <= num; j++)  
 6         if( num % j == 0 ){
 7             isPrime = 0;
 8             break;
 9         }
10     return isPrime;
11 }
12     
13 int main() {
14     int L, sum =0, i, count=0;
15     scanf("%d", &L);
16     for ( i=2; sum +i  <= L; i++)
17         if (isPrimeFunc(i) ){
18             sum += i;  
19             count++;
20             printf("%d\n", i);
21         } 
22     printf("%d\n",count );
23     return 0;      
24 }

 

posted @ 2025-10-16 14:45  blues667  阅读(10)  评论(0)    收藏  举报