本文主要是介绍【题库】—— 深基4.例13 质数口袋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<bits/stdc++.h>
using namespace std;
int n,x;
long long sum=0;int ans(int y)
{for(int i=2; i<=sqrt(y); ++i) //判断是否是质数{if(y%i==0) return 0;}return 1;
}int main()
{scanf("%d",&n);if(n<2) //当n<2,此时无素数,输出0{printf("0\n");return 0;} else if(n==2) //当n=2,有唯一素数2,输出2\n1\n{printf("2\n1\n");return 0;}for(int i=2; i<=n; ++i) {if(ans(i)) {printf("%d\n",i);sum+=i;x++;}if(sum+i>n) {printf("%d\n",x);return 0;}}return 0;
}
也可在代码中加入,将所有偶数排除,减少代码运算量
if(i%2==0 && i!=2) continue;
这篇关于【题库】—— 深基4.例13 质数口袋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!