1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; long long n,s,m,t,a[5000005]; int main() { cin>>n;a[1]=1; for(int i=2;i*i<=n;i++) if(a[i]==0) for(int j=2*i;j<=n;j+=i) a[j]++; for(int i=1;i<=n;i++) { m=sqrt(i); if(a[i]==0)t+=i; else { for(int j=2;j<=m;j++) if(i%j==0) { t+=j; break; } } } cout<<t; return 0; }
Pascal :
const maxn=2000000; inf='common.in'; ouf='common.out'; var a:array[0..maxn+1] of longint; i,j,s,k,n,m:longint; ans:int64; begin {assign(input,inf); assign(output,ouf); reset(input); rewrite(output);} readln(n); k:=2; s:=0; while k<=n do begin s:=k; while s<=n do begin if a[s]=0 then begin a[s]:=k; ans:=ans+k; end; s:=s+k; end; while a[k]<>0 do k:=k+1; end; writeln(ans); {close(input); close(output);} end.
- 1
信息
- ID
- 1011
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者