题解:质数口袋

发布时间:2026/7/30 5:43:18
题解:质数口袋 题目大意从自然数2开始依次寻找质数依次装入口袋。口袋中所有质数的总和不能超过给定上限L。按从小到大顺序输出所有能装入口袋的质数最后输出一共装下多少个质数。解题思路质数定义大于1的自然数除了1和自身外没有其他约数。从小到大枚举自然数逐个判断是否为质数。如果是质数尝试放入口袋若 总和 当前质数 ≤ L可以放入输出该质数更新总和、计数器。若 总和 当前质数 L不能放入直接结束程序。循环终止后输出质数总数量。Java 参考代码//importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scanner scnewScanner(System.in);intLsc.nextInt();sc.close();int sum0;int cnt0;int num2;while(true){if(isPrime(num)){if(sumnumL){break;}System.out.println(num);sumnum;cnt;}num;}System.out.println(cnt);}publicstaticbooleanisPrime(int n){if(n1)returnfalse;for(int i2;in;i){if(n%i0){returnfalse;}}returntrue;}}易错点总结1、先把质数加到sum再判断sumL会导致总和超限。2、忘记从数字2开始枚举