✔️문제
- 입력된 수가 소수인지 판별하시오.
- 13
- 정답: 13은 소수입니다.
📍정답
package _07_PrimeNum;
public class Main {
public static void main(String[] args) {
int num = 73;
boolean isPrimeNumber = true;
// 소수 = 1과 자기자신만 나누어 떨어지는 숫자
// 2부터 자기 자신 이전의 숫자 중 나누어 떨어지는 수가 없으면 소수
for (int i = 2; i < num / 2; i++) { // ★최적화:모든 수는 자기 절반보다 큰 수로는 나누어 떨어질수없음
// for (int i = 2; i <= Mah.sqrt(num); i++)
// ★더 최적화:제곱근까지만 검사(이유:소수의 약수는 반드시 제곱근 이하에 존재하기 때문)
if (num % i == 0) { // PrimeNumber X
isPrimeNumber = false;
break; // 최적화:첫번째 약수를 찾으면 즉시 종료
}
}
if (isPrimeNumber) {
System.out.print(num + "은 소수입니다.");
} else {
System.out.print(num + "은 소수가 아닙니다.");
}
}
}
Math 클래스
- 수학 연산을 쉽게 처리할 수 있도록 도와주는 유틸리티 클래스
- java.lang.Math 패키지에 포함되어 있어 별도의 import 없이 사용 가능
- 다양한 수학 함수, 랜덤 값 생성, 반올림, 절대값, 제곱근, 로그 연산 등을 제공
- 자주 사용되는 메서드
- 1~100 사이에 랜덤값 생성
기능 메서드 절대값 Math.abs(x) 최대/최소값 Math.max(x, y), Math.min(x, y) 제곱/제곱근 Math.pow(x, y), Math.sqrt(x), Math.cbrt(x) 반올림/올림/내림 Math.round(x), Math.ceil(x), Math.floor(x) 랜덤 Math.random()
int random = (int) (Math.random() * 100) + 1;
'개발인생 > Altorithm' 카테고리의 다른 글
[알고리즘 기초 100제] 9. 각 자릿수 합 구하기 (2) | 2025.03.10 |
---|---|
[알고리즘 기초 100제] 8. 팩토리얼 (0) | 2025.03.10 |
[알고리즘 기초 100제] 6. 최대공약수 구하기 (0) | 2025.03.09 |
[알고리즘 기초 100제] 5. 대소문자 변환 (1) | 2025.03.09 |
[알고리즘 기초 100제] 4. 10진수를 2진수로 변환 (0) | 2025.03.09 |