首页 > 代码库 > POJ 2407

POJ 2407

裸 的求欧拉函数

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int main(){	int n;	while(scanf("%d",&n),n){		int res=n;		int L=(int)sqrt(n*1.0);	//	cout<<L<<endl;		for(int i=2;i<=L;i++){			if(n%i==0){			//	cout<<i<<endl;				res=res-res/i;				while(n%i==0)				n/=i;			//	cout<<n<<endl;			}		}		if(n>1)		res=res-res/n;		printf("%d\n",res);	}	return 0;}

  

POJ 2407