fork download
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4. int num,prime=2,euler;
  5. scanf("%d",&num);
  6. if(num<=0)
  7. return 0;
  8. euler=num;
  9. for(;prime*prime<=num;prime+=2){
  10. if(num%prime==0){
  11. euler=euler/prime*(prime-1);
  12. while(num%prime==0)num/=prime;
  13. }
  14. if(prime==2)prime--;
  15. }
  16.  
  17. if(num>1){
  18. euler=euler/num*(num-1);
  19. }
  20.  
  21. printf("φ(%d)=%d\n",num,euler);
  22. return 0;
  23. }
Success #stdin #stdout 0.01s 5292KB
stdin
30
stdout
φ(5)=8