| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- JAVA 재귀함수
- mapstruct
- ubuntu passwd
- 스키마 디자인
- AOP
- ubuntu
- 리눅스 사용권한
- 함수형 인터페이스
- 자료구조
- Java
- 스키마 설계
- root passwd
- O(log n)
- 배열 탐색
- custom exception
- Spring 예외처리
- http 응답코드
- git 설정
- ubuntu 패스워드
- Spring MVC
- 탐욕 알고리즘
- N:N
- REST HTTP API
- file i/o
- set-version
- Spring
- git workflow
- char to int
- 코드스테이츠
- RestControllerAdvice
Archives
- Today
- Total
개발소설
소수(prime number) 구하기, 제곱근 사용 본문
소수란, 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다.
for(int i=2; i<num; i++){
if(num % i == 0) return false// 조건식에 걸리면 소수아님
} return true // 조건식에 걸리지 않았으면 소수
/*
2부터 자기 자신까지 수를 증가 시키면서 계속 나눠 보다가 나눠 떨어지는 수를 확인
나눠 떨어지면 소수가 아니고 num % i == 0
나눠 떨어지지 않으면 소수가 맞다 num % i != 0
*/
/*
제곱근을 사용 하여 반복횟수 줄이기
Math.sqrt() -> 제곱근을 구하는 메소드
소수는 약수가 자기 자신과 1밖에 없음
num=81 -> 1, 3, 9, 27, 81
81의 제곱근은 9, 약수들은 제곱근을 기준으로 대칭되므로 제곱근 까지만 확인해도
소수인지 알수 있음
*/
for(int i=2; i<=Math.sqrt(num); i++){ // 조건식을 제곱근까지는 진행해야함
if(num % i == 0) return false;
}
return true;'CS > 알고리즘' 카테고리의 다른 글
| JAVA 배열에서 새로운 요소를 추가하기 (0) | 2023.03.03 |
|---|---|
| 피보나치 수열 - 배열 (0) | 2023.02.23 |
| 약수 구하기 (0) | 2023.02.21 |
| 나눗셈(/), 나머지(%) 사용안하고 홀수, 짝수 구하기 (0) | 2023.02.21 |
| 시,분,초를 초로 변환, 초를 시,분,초로 변환 (0) | 2023.02.21 |
Comments