C++产生素数表----滚动数组,另加快速判断小规模素数的小函数
【摘要】
C++产生素数表----滚动数组
vector<int>primes = {2,3,5};
void init(int n){
for(int i = primes.back()+2...
C++产生素数表----滚动数组
vector<int>primes = {2,3,5};
void init(int n){
for(int i = primes.back()+2; i <= n; i+= 2){
bool flag = true;
for(auto p : primes){
if(p * p > i)break;
if(i % p == 0){
flag = false;
break;
}
}
if(flag)primes.push_back(i);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
主函数中调用init产生素数表:
打印100以内的素数
int main(){
int n = 100;
init(n);
for(auto i : primes){
cout << i << " ";
}
cout << endl;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
C++快速判断小规模素数的小函数
bool prime(int n){
if(n == 2 || n == 3)return true;
if(n % 2 == 0 || n <= 1)return false;
for(int i = 3; i * i <= n; i+= 2){
if(n % i == 0)return false;
}
return true;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
文章来源: blog.csdn.net,作者:爱玲姐姐,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jal517486222/article/details/89738795
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)