程序题:洛谷, 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 }
浙公网安备 33010602011771号