80分求助!!!
  • 板块灌水区
  • 楼主Healer_Fang
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/6/23 16:33
  • 上次更新2024/6/23 19:26:47
查看原帖
80分求助!!!
1020865
Healer_Fang楼主2024/6/23 16:33

素数个数

题目描述

求 1,2,⋯ ,N1,2,\cdots,N 中素数的个数。

输入格式

一行一个整数 NN。

输出格式

一行一个整数,表示素数的个数。

样例 #1

样例输入 #1

10

样例输出 #1

4

提示

对于 40%40\% 的数据,1≤N≤1061 \le N \le 10^6。

对于 80%80\% 的数据,1≤N≤1071 \le N \le 10^7。

对于 100%100\% 的数据,1≤N≤1081 \le N \le 10^8。

#include<bits/stdc++.h>
using namespace std;
int n,t;
int prime[1000000];
bool y[10000000];
void su(){
    memset(y,true,sizeof(y));
    y[1]=false;
    for(int i=2;i<=n;i++){
        if(y[i])    prime[++t]=i;
        for(int j=1;i*prime[j]<=n;j++){
            y[i*prime[j]]=false;
            if(i%prime[j]==0)    break;    
        }
    }
}
int main(){
    scanf("%d",&n);
    su();
    cout<<t;
    return 0;
}
2024/6/23 16:33
加载中...