# 최대공약수(GCD), 최소공배수(LCM) ```java // Recursive method to return gcd of a and b public static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // method to return LCM of two numbers public static int lcm(int a, int b) { return ((a * b) / gcd(a, b)); } ``` # 소수 확인 ```java public static boolean isPrime(int number) { if (number == 1 || number < 0) { return false; } for (int i = 2; i <= number / 2; i++) { if (number % i == 0) { return false; } } return true; } ``` # 진수 ## 10진수 String → n 진수값 `Integer.parseInt(StringValueOfNumber, radix);` ## Integer number → 2진수 String `Integer.toBinaryString(number)` ## Integer.bitCount 정수를 매개변수로 넣었을때 그 정수의 1 의 개수를 반환 * 1111 (2) → 4 * 1101 (2) → 3 ```java System.out.println(Integer.parseInt("1111", 2)); Integer i = Integer.parseInt("1111", 2); //15 int bitCount = Integer.bitCount(i); System.out.println(bitCount); //4 System.out.println(Integer.toBinaryString(15)); //1111(2) ```