题解:分析题目,就是一个裸的欧拉函数,于是AC。
#include <cstdio> 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; return ret; } int main(){ int n; scanf("%d",&n); while (scanf("%d",&n)!=EOF) printf("%d ",eular(n)); return 0; }