问题标题: 酷町堂:3893

0
0
已解决
李明阳
李明阳
初级光能
初级光能

#include<iostream>
#include<cmath>
using namespace std;
long long a[10000010];
int main()
{
      int n,cnt=0;
      cin>>n;
      a[1]=1;
      for(int i=2;i<=sqrt(n);i++){
           if(a[i]==0){
                for(int j=2*i;j<=n;j+=i)
                    a[j]=1; 
           }
      }
      for(int i=2;i<=n;i++)
            if(a[i]==0)
                cnt++;
              cout<<cnt;    
      return 0;
}

拿错了


0
已采纳
陈曦
陈曦
资深天翼
资深天翼

1、a[j]++;

2、这题不能 用 sqrt()

陈曦在2020-05-15 19:40:33追加了内容

3、输出的时候要从“1”开始循环!

0
0
0
我要回答