新手小白求大佬帮助 help me!

P5723 【深基4.例13】质数口袋

@[Cuimenghao](/user/1092593) ①`p`函数改为 ```cpp int p(int l){ //i不能从1开始枚举,原因是 i 整除任何数,所以之前的 p 总是返回 1 //只需枚举 2-根号(l) 之间的整数即可 //原因是若 i 整除 l,那么 l/i 整除 l //若令 i<=l/i,那么得到 i*i<=l, //由于 i 和 l/i 试除 l 没有本质区别,于是只需要筛根号个数就够用了 //这样会快很多 for(int i=2;i*i<=l;i++){ if(l%i==0){ return 0;//能够除尽,不是质数 } } return 1;//经过检验是质数 } ``` ②没有记录个数,题目要求最后输出袋子里的质数个数,所以开一个 `int cnt=0;` 在 `cout<<i<<endl;` 的同时 `cnt++;` 循环结束后输出 `cout<<cnt<<endl;`
by Terrible @ 2024-02-04 22:00:29


谢谢大佬
by Cuimenghao @ 2024-02-05 12:13:59


|