POJ
来源:互联网 发布:豆瓣电影推荐算法 编辑:程序博客网 时间:2024/05/22 02:30
#include<cstdio>using namespace std;/*欧拉函数n>=2 a/b(a<=a<b<=n&&gcd(a,b)==1)F2 = {1/2}F3 = {1/3, 1/2, 2/3}F4 = {1/4, 1/3, 1/2, 2/3, 3/4}F5 = {1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5}求Fn集合中元素个数*/typedef long long LL;const int maxn=1e6+5;int n;int phi[maxn];LL sum[maxn];void phi_table(int n){ for(int i=0;i<=n;i++) phi[i]=0; phi[1]=1; for(int i=2;i<n;i++) { if(!phi[i]) { for(int j=i;j<n;j+=i) { if(!phi[j]) phi[j]=j; phi[j]=phi[j]/i*(i-1); } } }}void init(){ sum[1]=0; for(int i=2;i<=maxn;i++) { sum[i]=sum[i-1]+phi[i]; }}int main(){ phi_table(maxn); init(); while(~scanf("%d",&n)) { if(n==0) break; printf("%lld\n",sum[n]); } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- [机器学习入门] 李宏毅机器学习笔记-30 (Sequence Labeling Problem part 2 ;结构化预测-序列标记 part 2)
- 欢迎使用CSDN-markdown编辑器
- Linux 开启端口命令
- 控制反转(IoC)与依赖注入(DI)
- java中类加载的过程01
- POJ
- c++历史版本
- TCP/IP体系结构
- 扩展阅读 两个优秀的论坛(吾爱破解/看雪)
- 【Selenium】2访问某网地址(driver.navigate().to()和driver.get()使用的区别)
- 关于中缀表达式转后缀表达式
- 一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中。要求效率尽可能的高。
- STM32——GPIO设置:快速点亮第一个LED灯
- Digdata Development Java__Study_05(String,回顾)