fork download
  1. #include <bits/stdc++.h>
  2. #define II ({int a; scanf("%d", &a); a;})
  3. #define LL ({ll a; scanf("%lld", &a); a;})
  4. #define pi acos(0.0)
  5. using namespace std;
  6. typedef long long ll;
  7.  
  8. ll phi ( ll n ) {
  9. ll i,res = n ;
  10. for ( i = 2 ; i * i <= n ; ++ i )
  11. if ( n % i == 0 ) {
  12. while ( n % i == 0 )
  13. n /= i ;
  14. res -= res / i ;
  15. }
  16. if ( n > 1 ) res -= res / n ;
  17. return res ;
  18. }
  19.  
  20. int main(){
  21. ll n ;
  22. while(scanf("%lld",&n) && n ){
  23. if( n == 1 ) puts("0");
  24. else printf("%lld\n",phi(n));
  25. }
  26. }
Success #stdin #stdout 0s 4460KB
stdin
7
12
0
stdout
6
4