【欧拉函数】 poj 2478
递推法求欧拉函数:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
;
long long phi[maxn];
void make_phi()
{
;i<maxn;++i)
phi[i]=i;
;i<maxn;++i)
{
if(phi[i]==i)
{
for(long long j=i;j<maxn;j+=i)
{
phi[j]=phi[j]-phi[j]/i;
}
}
}
}
long long ans[maxn];
void make_ans()
{
ans[]=;
;i<maxn;++i)
ans[i]=ans[i-]+phi[i];
}
int main()
{
// freopen("in","r",stdin);
make_phi();
make_ans();
// for(long long i=2;i<=10;++i)
// cout << phi[i] <<endl;
long long n;
&& n)
{
printf("%lld\n",ans[n]);
}
;
}
素数打表法求欧拉函数:
这里有个小插曲就是note【maxn+1】原来maxn没有加一RE了n次,经刘卓大神指教瞬间改正
之前还以为是cin和cout不能接收long long 呢
#include <cstdio>
#include <iostream>
#include <stdlib.h>
using namespace std;
;
];
int main()
{
//freopen("in.txt","r",stdin);
long long *phi,i,j;
long long *prime;
prime=()*sizeof(long long));
prime[]=prime[]=;
;i<=maxn;i++)
prime[i]=;
;i*i<=maxn;i++)
{
if(prime[i])
{
for(j=i*i;j<=maxn;j+=i)
prime[j]=;
}
}
phi=()*sizeof(long long));
;i<=maxn;i++)
phi[i]=i;
;i<=maxn;i++)
{
if(prime[i])
{
for(j=i;j<=maxn;j+=i)
phi[j]=phi[j]/i*(i-);
}
}
note[]=;
;i<=maxn;i++)
{
note[i]=note[i-]+phi[i];
}
long long n;
while(cin >> n && n)
{
cout << note[n] << endl;
}
// while(scanf("%lld",&n)==1 && n)
// {
// printf("%lld\n",note[n]);
//}
;
}
【欧拉函数】 poj 2478的更多相关文章
- 欧拉函数 &【POJ 2478】欧拉筛法
通式: $\phi(x)=x(1-\frac{1}{p_1})(1-\frac{1}{p_2})(1-\frac{1}{p_3}) \cdots (1-\frac{1}{p_n})$ 若n是质数p的k ...
- POJ 2478 Farey Sequence(欧拉函数前n项和)
A - Farey Sequence Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u ...
- poj 2478 Farey Sequence(欧拉函数是基于寻求筛法素数)
http://poj.org/problem?id=2478 求欧拉函数的模板. 初涉欧拉函数,先学一学它主要的性质. 1.欧拉函数是求小于n且和n互质(包含1)的正整数的个数. 记为φ(n). 2. ...
- 欧拉函数 & 【POJ】2478 Farey Sequence & 【HDU】2824 The Euler function
http://poj.org/problem?id=2478 http://acm.hdu.edu.cn/showproblem.php?pid=2824 欧拉函数模板裸题,有两种方法求出所有的欧拉函 ...
- POJ 2478 欧拉函数打表的运用
http://poj.org/problem?id=2478 此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法. PS:因为最后得到的结果会很 ...
- poj 3090 && poj 2478(法雷级数,欧拉函数)
http://poj.org/problem?id=3090 法雷级数 法雷级数的递推公式非常easy:f[1] = 2; f[i] = f[i-1]+phi[i]. 该题是法雷级数的变形吧,答案是2 ...
- hdu1787 GCD Again poj 2478 Farey Sequence 欧拉函数
hdu1787,直接求欧拉函数 #include <iostream> #include <cstdio> using namespace std; int n; int ph ...
- POJ 2478 线性递推欧拉函数
题意: 求sigma phi(n) 思路: 线性递推欧拉函数 (维护前缀和) //By SiriusRen #include <cstdio> using namespace std; # ...
- 数学之欧拉函数 &几道poj欧拉题
欧拉函数总结+证明 欧拉函数总结2 POJ 1284 原根 #include<iostream> #include<cstdio> #include<cstring> ...
随机推荐
- w3c School
w3c School : http://www.w3school.com.cn/h.asp
- redis :初步使用
redis : 1.ubuntu安装 'pip install redis-server' 2.启动 'redis-cli' 3.使用 set: set a 1 get: get a fl ...
- DD应用实例
1.将本地的/dev/hdb整盘备份到/dev/hdd dd if=/dev/hdb of=/dev/hdd2.将/dev/hdb全盘数据备份到指定路径的image文件dd if=/dev/hdb o ...
- hdu_5354_Bipartite Graph(cdq分治+并查集判二分图)
题目链接:hdu_5354_Bipartite Graph 题意: 给你一个由无向边连接的图,问对于每一个点来说,如果删除这个点,剩下的点能不能构成一个二分图. 题解: 如果每次排除一个点然后去DFS ...
- 安卓---下拉刷新---上拉加载---解决导入library等自生成库文件失败的问题
本文的下拉刷新以及上拉加载都是用PullToRefresh实现的,关于PullToRefresh的介绍以及源码,网上可以找到很多,本人在此不再赘述. PullToRefresh是一套实现非常好的下拉刷 ...
- SSL单向认证和双向认证原理
注:本文为个人学习摘录,原文地址:http://edison0663.iteye.com/blog/996526 为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议.SSL ...
- Windows系统顽固文件删除方法
con nul都是windows的设备,默认是不允许删除的,如果你一定要删除,可以按照以下方法进行删除!新建一个记事本输入一下内容(直接复制即可)DEL /F /A /Q \\?\%1 RD /S / ...
- 2016 ACM/ICPC Asia Regional Dalian ICPC大连现场赛
讲道理我挺想去大连的…… 毕竟风景不错…… 而且这次能去北京也是靠大连网络赛这一场拉开的优势…… 一道补图最短路一道数学推论简直爽爆…… 当然 除了这一场 其他场都非常划水…… 上次看到别人的博客用这 ...
- Java 算法
1.简单的冒泡排序 //冒泡算法一共两种 // -----冒泡算法(1) int a[]={23,69,4,58,1,20}; for (int i = 0; i < a.length-1; i ...
- html5 读写sqlite数据库
var db = openDatabase('MyData','','My Database',102400); //首先它创建一个数据库表,里面有3个字段 db.transaction(functi ...