欧拉定理与应用



在数论中,欧拉定理是一个关于同余的性质。欧拉定理表明,若为正整数,且互素(即),则

即与1在模n下同余;为欧拉函数。


首先看一个基本的例子。令,,这两个数是互素的。比5小的正整数中与5互素的数有1、2、3和4,所以。计算:,而。与定理结果相符。

这个定理可以用来简化幂的模运算。比如计算的个位数,实际是求被10除的余数。7和10互素,且。由欧拉定理知。所以。

一般地,在简化幂的模运算的时候,(当和互素) 我们要对a的指数取模:

当,则。




欧拉函数求法:


int eular(int n) {  
	int ret=1,i;   
	for(i=2;i*i<=n;i++)     
		if(n%i==0)     
		{      
			n/=i,ret*=i-1;      
			while(n%i==0)     
				n/=i,ret*=i;    
		}  
		if(n>1)     
			ret*=n-1, cout << n << endl;
		return ret; 
} 



你可能感兴趣的:(欧拉定理与应用)