FZU 1969数论 GCD+欧拉函数应用
来源:互联网 发布:结构优化是什么意思 编辑:程序博客网 时间:2024/06/05 07:33
此题非常好...题解我再写一个详细的证明过程,随后发出来
写贴代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define lint long longconst int maxn = 1000015;int phi[maxn];lint sum[maxn];void Phi(){ int i,j,k; phi[0]=sum[0]=0; for(i = 1; i <= maxn; i++) phi[i] = i; for(i = 2; i <= maxn; i += 2) phi[i] /= 2; for(i = 3; i <= maxn; i += 2) if(phi[i] == i) { for(j = i; j <= maxn; j += i) phi[j] = phi[j] / i * (i - 1); } for(i=2;i<maxn;i++) sum[i]=phi[i]; for(i=2;i<=1000;i++)//每次循环处理掉所有的以i为gcd的情况 { sum[i*i]+=phi[i]*i; for(j=i*i+i,k=i+1;j<maxn;j+=i,k++)//k记录多少个i,省却除法的时间 { sum[j]+=phi[k]*i+phi[i]*k; } } for(i=1;i<maxn;i++) sum[i]+=sum[i-1];}int main(){ Phi(); lint n,g; while(scanf("%I64d", &n)!=EOF && n) { printf("%I64d\n",sum[n]); } return 0;}
1 0
- FZU 1969数论 GCD+欧拉函数应用
- hdu1787 GCD Again(数论:欧拉函数)
- hdu 2588 GCD [欧拉函数]【数论】*
- HDU 2588 GCD [欧拉函数]【数论】
- HDU5514 Frogs(GCD+欧拉函数+数论)
- BZOJ_P2818 GCD(数论GCD+欧拉函数线性筛)
- FZU 1969 && UVA 11426 GCD Extreme (欧拉函数 或 莫比乌斯反演)
- hdu 1787 GCD Again 欧拉函数小水水 数论
- HDU1695-GCD(数论-欧拉函数-容斥)
- GCD nyoj1007(欧拉函数运用&&数论入门)
- uva 11424 && 11426 GCD - Extreme(数论:欧拉函数)
- UVA 11426 GCD - Extreme (II) (数论|欧拉函数)
- HDU-4983-Goffi and GCD【数论】【欧拉函数】
- (hdu 2588 gcd)<数论—欧拉函数>
- GCD +hdu+欧拉函数的应用
- HDU2588 GCD 欧拉函数简单应用
- 【数论】gcd|扩展gcd|素数筛法|快速幂|欧拉函数(各种模板)
- 数论欧拉函数
- ie 盒子模型和标准 w3c 盒子模型
- python基础教程_学习笔记3:列表
- table网格线
- 2001-Views-Animation-3D-Transition
- linux awk命令详解
- FZU 1969数论 GCD+欧拉函数应用
- oracle优化
- 学会提问
- 【算法思想】过河问题(续)
- java 实现播放声音
- wcf 本地套接字超时错误的解决办法
- UVA 10635 - Prince and Princess (LCS转成LIS DP)
- Binary Tree Level Order Traversal
- NYOJ993 How many integers can you find