@Test(expected=IllegalArgumentException.class) public void testTotientInvalid0() { Library.totient(-1); }
public static int totient(int n) { if (n <= 0) throw new IllegalArgumentException("Totient of non-positive integer"); int p = 1; for (int i = 2, end = Library.sqrt(n); i <= end; i++) { if (n % i == 0) { p *= i - 1; n /= i; while (n % i == 0) { p *= i; n /= i; } end = Library.sqrt(n); } } if (n != 1) p *= n - 1; return p; }
Library { public static int totient(int n) { if (n <= 0) throw new IllegalArgumentException("Totient of non-positive integer"); int p = 1; for (int i = 2, end = Library.sqrt(n); i <= end; i++) { if (n % i == 0) { p *= i - 1; n /= i; while (n % i == 0) { p *= i; n /= i; } end = Library.sqrt(n); } } if (n != 1) p *= n - 1; return p; } }
Library { public static int totient(int n) { if (n <= 0) throw new IllegalArgumentException("Totient of non-positive integer"); int p = 1; for (int i = 2, end = Library.sqrt(n); i <= end; i++) { if (n % i == 0) { p *= i - 1; n /= i; while (n % i == 0) { p *= i; n /= i; } end = Library.sqrt(n); } } if (n != 1) p *= n - 1; return p; }  }
Library { public static int totient(int n) { if (n <= 0) throw new IllegalArgumentException("Totient of non-positive integer"); int p = 1; for (int i = 2, end = Library.sqrt(n); i <= end; i++) { if (n % i == 0) { p *= i - 1; n /= i; while (n % i == 0) { p *= i; n /= i; } end = Library.sqrt(n); } } if (n != 1) p *= n - 1; return p; }  static String reverse(String s); static boolean isPalindrome(String s); static boolean isPalindrome(int x); static int sqrt(int x); static long sqrt(long x); static BigInteger sqrt(BigInteger x); static boolean isSquare(int x); static int pow(int x, int y); static int powMod(int x, int y, int m); static int reciprocalMod(int x, int m); static BigInteger factorial(int n); static BigInteger binomial(int n, int k); static int gcd(int x, int y); static boolean isPrime(int x); static boolean[] listPrimality(int n); static int[] listPrimes(int n); static int[] listSmallestPrimeFactors(int n); static int totient(int n); static int[] listTotients(int n); static boolean nextPermutation(int[] arr); }
Library { public static int totient(int n) { if (n <= 0) throw new IllegalArgumentException("Totient of non-positive integer"); int p = 1; for (int i = 2, end = Library.sqrt(n); i <= end; i++) { if (n % i == 0) { p *= i - 1; n /= i; while (n % i == 0) { p *= i; n /= i; } end = Library.sqrt(n); } } if (n != 1) p *= n - 1; return p; }  static String reverse(String s); static boolean isPalindrome(String s); static boolean isPalindrome(int x); static int sqrt(int x); static long sqrt(long x); static BigInteger sqrt(BigInteger x); static boolean isSquare(int x); static int pow(int x, int y); static int powMod(int x, int y, int m); static int reciprocalMod(int x, int m); static BigInteger factorial(int n); static BigInteger binomial(int n, int k); static int gcd(int x, int y); static boolean isPrime(int x); static boolean[] listPrimality(int n); static int[] listPrimes(int n); static int[] listSmallestPrimeFactors(int n); static int totient(int n); static int[] listTotients(int n); static boolean nextPermutation(int[] arr);  }