已采纳 祝明朗 初级光能 代码如下:(有注释) 定义 N,n; while(scanf("%d",&N)!=EOF) { 如果(N==0) break; n=N; 循环(int i=2;i<=sqrt(N);i++)//使用欧拉函数解决的问题; 如果(N%i==0) { n=n/i*(i-1); while(N%i==0) N/=i; //根据欧拉函数的的定义; } 如果(N>1) n=n/N*(N-1); //这一步不能遗忘; printf("%d\n",n); }