int gcd(int a, int b) { while (a != b && a != 1) { if (b == 1) a = 1; else if (a > b) a = a - b; else b = b - a; } return a; } int euler(int n) { int i, t=0; if (n == 0) return 1; if (n < 0) n = -n; for (i = 1; i <= n; i++) if (gcd(n, i) == 1) t++; return t; }