算法刷题记录:素数分布

题目链接

https://ac.nowcoder.com/acm/contest/19306/1014

解题思路

第一次听说素数分布这个东西,所以想记下来。
素数分布函数π(n)表示小于或等于n的素数的数目。例如π(10)=4(2,3,5,7是素数)。

AC代码

#include <iostream>
#include <cstring>
using namespace std;
const int N = 10000;
int T, n;
int p[N], st[N];
int main()
{
cin >> T;
while (T -- )
{
cin >> n;
int cnt = 0, ans = 0;
memset(st, 0, sizeof st);
for (int i = 2; i <= n; ++ i)
{
if (!st[i])
{
p[cnt ++ ] = i;
for (int j = i + i; j <= n; j += i)
st[j] = true;
}
}
for (int i = 2; i <= n; ++ i)
if (!st[i]) ++ ans;
cout << ans << endl;
}
return 0;
}
posted @   想个昵称好难ABCD  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示