UVA 11426 GCD - Extreme (II)
2017-04-24 20:53
246 查看
G=0;
for(i=1;i<N;i++)
for(j=i+1;j<=N;j++)
{
G+=gcd(i,j);
}
SampleInput
10
100
200000
0
SampleOutput
67
13015
143295493160
for(i=1;i<N;i++)
for(j=i+1;j<=N;j++)
{
G+=gcd(i,j);
}
SampleInput
10
100
200000
0
SampleOutput
67
13015
143295493160
#include <algorithm> #include <iostream> #include <cmath> #include <cstdio> #include <cstring> #include <map> using namespace std; typedef long long LL; const LL N = 4000000 + 10; const LL MOD = 1000; LL s , f , phi ; void funp() { LL i, j; for(i = 2; i < N; i++) phi[i] = 0; phi[1] = 1; for(i = 2; i < N; i++) if(!phi[i]) { for(j = i; j < N; j += i) { if(!phi[j]) phi[j] = j; phi[j] = phi[j] / i * (i - 1); } } } LL init() { LL i, j; funp(); for(i = 1; i < N; i++) { for(j = i + i; j < N; j += i) f[j] += i * phi[j / i]; } s[2] = f[2]; for(i = 3; i < N; i++) s[i] = s[i - 1] + f[i]; } int main() { LL n; init(); while(scanf("%lld", &n), n) { printf("%lld\n", s ); } return 0; }
相关文章推荐
- Uva 11426 GCD - Extreme (II)(基本数论)
- UVA 11426 GCD - Extreme (II)
- UVA 11426 - GCD Extreme(II)
- UVA 11426 GCD Extreme (II) 欧拉函数
- UVA11426GCD - Extreme (II)
- UVA 11426 GCD - Extreme (II) (数论|欧拉函数)
- UVA 11426 - GCD - Extreme (II) (数论)
- UVA - 11426 GCD - Extreme (II) gcd思维+巧用欧拉函数
- UVa 11426 GCD - Extreme (II) (欧拉函数应用·O(N*logN))
- GCD - Extreme (II)(UVA11426)
- uva 11426 - GCD - Extreme (II)(数论)
- UVA 11426 GCD - Extreme (II) (欧拉函数+筛法)
- UVA 11426-GCD - Extreme (II)
- UVA11426 GCD - Extreme (II) 小于n的数对的gcd之和
- uva 11426 GCD - Extreme (II) (神奇的GCD)
- GCD - Extreme (II) UVA - 11426 (欧拉函数)
- UVA - 11426 GCD - Extreme (II)
- UVA11426 GCD - Extreme (II)
- UVa 11426题解 GCD - Extreme (II) 题解
- GCD - Extreme (II) UVA - 11426 (数论,gcd,欧拉函数)题解