问题标题: 酷町堂:7027 列举质数

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼

为什么错了

#include<iostream>
#include<cmath>
using namespace std;
bool zs(int n){
    if(n==1) return false;
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0) 
            return false;
    }
    return true;
}
int a,b,n,s[15000],cnt;
int main(){
    cin>>a>>b;
    for(int i=1;i<=10000;i++){
        if(zs(i))
            s[++n]=i;
    }
    for(int i=a;i<b;i++){
        cnt++;
        cout<<s[i];
        if(cnt%10==0){
            cout<<endl;
        }
        if(!(cnt%10==0)) 
            cout<<' ';
    }
    cout<<s[b];
    return 0;
}

 


0
已采纳
李子杰
李子杰
资深光能
资深光能

只需将15行  i<=10000改成i<=1000000,我问过老师了

1
王文博
王文博
缔造者之神
缔造者之神

数组开大到1000001,循环次数开大到1000000

是10000个质数,不是质数的大小

要用火车头,除非用埃氏筛(700多秒,普通方法+火车头+黑科技)

0
荣光峰
荣光峰
资深光能
资深光能

第26行是不是中文符号

0
0
0
陈曦
陈曦
资深天翼
资深天翼

陈曦在2021-09-21 20:48:20追加了内容

0
我要回答