歐拉函數模板
阿新 • • 發佈:2017-08-08
class for sin esp logs include blog turn names
#include<iostream> using namespace std; int main() { long long ans,n; while(1){ cin>>n; if(!n) return 0; ans=n; if(n%2==0) { while(n%2==0) n/=2; ans/=2; } for(long long i=3;i*i<=n;i+=2) { if(n%i==0) { while(n%i==0) n/=i; ans=ans/i*(i-1); } } if(n>1) ans=ans/n*(n-1); cout<<ans<<endl; } return 0; }
歐拉函數模板