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