欧拉函数

原创 2016年06月01日 08:29:56
#include"string"
#include"sstream"
#include"iostream"
#include"stack"
using namespace std;
const int maxn=100000;
int minDiv[maxn],phi[maxn],sum[maxn];
int n;
void genPhi()
{
	for(int i=1;i<maxn;++i)
	   minDiv[i]=i;
	for(int i=2;i*i<maxn;++i)
		if(minDiv[i]==i)
			for(int j=i*i;j<maxn;j+=i)
				minDiv[j]=i;
	phi[1]=1;
	for(int i=2;i<maxn;++i)
	{
		phi[i]=phi[i/minDiv[i]];
		if((i/minDiv[i])%minDiv[i]==0)
			phi[i]*=minDiv[i];
		else
			phi[i]*=minDiv[i]-1;
	}
}
int main()
{
	genPhi();
	while(cin>>n)
	{
		cout<<phi[n]<<endl;
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

初等数论中求欧拉函数值程序

  • 2011年06月17日 15:18
  • 882KB
  • 下载

hdu4135--Co-prime(欧拉函数+容斥原理)

Co-prime Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status...

【欧拉函数】 HDOJ 2588 GCD

累加n的约数的

HDU-4983-Goffi and GCD【数论】【欧拉函数】

HDU-4983-Goffi and GCD

Pollard的rho启发式因子分解算法 & [CodeVS 4939] 欧拉函数:Miller-Rabin + Pollard-rho 质因数分解

Pollard的rho启发式因子分解算法用于给出整数的一个因子。在一定的合理假设下,如果n有一个因子p,可在O(p^(1/2))的期望时间内可找出n的一个因子p。 本文描述了Pollard-rho算...

HDU1695素数打表欧拉函数容斥原理(再看)

转自:http://blog.csdn.net/shiren_bod/article/details/5787722 题意:已知给定k,x,y求 1   大体思路:    ...

[ACM] POJ 2154 Color (Polya计数优化,欧拉函数)

Color Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7630   Accepted...

(hdu2588)GCD(欧拉函数)

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:欧拉函数
举报原因:
原因补充:

(最多只允许输入30个字)