为了账号安全,请及时绑定邮箱和手机立即绑定

面试遇到的一道算法题

面试遇到的一道算法题

拉风的咖菲猫 2019-06-11 11:33:07
求1亿以内最大质数c=100000000b=2a=2while(1<c<=100000000):   while(b<c):       if (c%b==0):break       b=b+1   if(b>=c):      if(a<c):        a=c   c=c-1print(a)为什么输出为99999993?
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

#include <iostream>#include <vector> using namespace std; const unsigned int MAX_NUM=100; void Prime(vector<bool> &numbers,vector<int> &primes){    for(unsigned int i=2;i<=MAX_NUM;i++){        if(numbers[i]==false){            primes.push_back(i);            // multiple of i            for(unsigned int j=i;j<=MAX_NUM;j+=i)                numbers[j]=true;        }    }}  int main(){    vector<bool> numbers(MAX_NUM,false);    vector<int> primes;     Prime(numbers,primes);     vector<int>::iterator it=primes.begin();    for(;it!=primes.end();it++){        cout<<*it<<endl;    }     return 0;}

例子参考

查看完整回答
反对 回复 2019-06-11
  • 2 回答
  • 0 关注
  • 790 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信