Forsaken喜欢数论(线性筛)

登录---专业IT笔试面试备考平台_牛客网

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
const int N=3e7+5;
int primes[N],cnt,n;
bool st[N];
int num[N];
ll ans=0;

void get_primes(int n)
{
	for(int i=2;i<=n;i++)
	{
		if(!st[i])
		{
			primes[cnt++]=i;
			num[i]=i;
		}
		for(int j=0;primes[j]<=n/i;j++)
		{
			st[primes[j]*i]=true;
			num[primes[j]*i]=primes[j];
			if(i%primes[j]==0)break;
		}
	}
}
void get_sum()
{
	for(int i=1;i<=n;i++)
	{
		ans+=num[i];
	}
	cout<<ans;
}
int main()
{
	cin>>n;
	get_primes(n);
	get_sum();
}
相关推荐
不染尘.3 分钟前
2025_11_7_刷题
开发语言·c++·vscode·算法
来荔枝一大筐1 小时前
力扣 寻找两个正序数组的中位数
算法
算法与编程之美1 小时前
理解Java finalize函数
java·开发语言·jvm·算法
地平线开发者2 小时前
LLM 训练基础概念与流程简介
算法·自动驾驶
点云SLAM2 小时前
弱纹理图像特征匹配算法推荐汇总
人工智能·深度学习·算法·计算机视觉·机器人·slam·弱纹理图像特征匹配
星释2 小时前
Rust 练习册 :Matching Brackets与栈数据结构
数据结构·算法·rust
地平线开发者2 小时前
Camsys 时间戳信息简介
算法·自动驾驶
星释2 小时前
Rust 练习册 :Luhn与校验算法
java·算法·rust
代码雕刻家2 小时前
C语言中关于类型转换不匹配的解决方案
c语言·开发语言·算法
星星的月亮叫太阳3 小时前
large-scale-DRL-exploration 代码阅读 总结
python·算法