判断质数-洛谷P5723 【深基4.例13】质数口袋
知识点:质数判断方法。
#include<iostream>
using namespace std;
int zhishu(int x){ //判断是否为质数for(int i=2;i*i<=x;i++){ //对2到根号x求余,减少运算量if(i%2==0&&i!=2) continue; //偶数肯定是非质数,这步是优化if(x%i==0)return 0;}return 1;
}
int main(){int i,L,j,sum=0,cnt=0;cin>>L;for(i=2;i<L&&sum<L;i++){ if(zhishu(i)==1){sum+=i;if(sum<=L){cout<<i<<endl;cnt++; //计数}}}if(L>2)cout<<cnt<<endl; //由题意,注意范围还有1,2,要不然过不全else if(L==2)cout<<2<<endl<<1<<endl;else if(L==1)cout<<0<<endl;return 0;
}
如果本文对您有帮助,可不可以给萌新点一个赞,鼓励小萌新坚持写博客的热情!
判断质数-洛谷P5723 【深基4.例13】质数口袋
知识点:质数判断方法。
#include<iostream>
using namespace std;
int zhishu(int x){ //判断是否为质数for(int i=2;i*i<=x;i++){ //对2到根号x求余,减少运算量if(i%2==0&&i!=2) continue; //偶数肯定是非质数,这步是优化if(x%i==0)return 0;}return 1;
}
int main(){int i,L,j,sum=0,cnt=0;cin>>L;for(i=2;i<L&&sum<L;i++){ if(zhishu(i)==1){sum+=i;if(sum<=L){cout<<i<<endl;cnt++; //计数}}}if(L>2)cout<<cnt<<endl; //由题意,注意范围还有1,2,要不然过不全else if(L==2)cout<<2<<endl<<1<<endl;else if(L==1)cout<<0<<endl;return 0;
}
如果本文对您有帮助,可不可以给萌新点一个赞,鼓励小萌新坚持写博客的热情!
发布评论