@[lele2522650685](/user/642481) 你题面发一下啊?如果找不同请自己找谢谢
by Static_int @ 2022-06-24 20:08:51
现在来看估计问题就是以下两点
- 数组开小了
- H没开long long爆炸了
by Static_int @ 2022-06-24 20:10:10
@[Static_int](/user/731608)
输入一个正整数n,输出
1-n之间所有质数的和
输入描述
一行一个正整数表示数字
输出描述
一行一个正整数表示答案
by Esawkm @ 2022-06-24 20:10:35
@[lele2522650685](/user/642481) n的范围?
by Static_int @ 2022-06-24 20:12:10
@[Static_int](/user/731608) $8*10^7$
改大了也不行
by Esawkm @ 2022-06-24 20:13:20
@[lele2522650685](/user/642481) 质数密度在 $O(\log n)$ 量级,相加绝对会爆int。建议将int类型的变量改为long long 防止溢出问题。
by Static_int @ 2022-06-24 20:17:53
这不显然是数组开小了吗
by Withers @ 2022-06-24 20:25:05
这不显然是数组开小了吗
by happybob @ 2022-06-24 20:40:15
@[Withers](/user/481851)
@[happybob](/user/332914)
```
#include<bits/stdc++.h>
using namespace std;
bool vis[80000057];
long long z[80000057],ji,n,H;
int main()
{
cin>>n;
for(int i=2;i<=n;i++)
{if(!vis[i])z[++ji]==i;
for(int j=1;j<=ji;j++)
{if(z[j]*i>n)break;
vis[i*z[j]]=1;
if(i%z[j]==0)
break;
}
}
for(int i=1;i<=ji;i++)
H+=z[i];
cout<<H;
return 0;
}
也不行啊
by Esawkm @ 2022-06-24 21:02:12
@[lele2522650685](/user/642481) prime 数组开到 $O(n/\log n)$ 级别就行,目测 1e7 显然没啥问题
by liqingyang @ 2022-06-24 21:08:27