일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Spring
- mapstruct
- char to int
- ubuntu
- root passwd
- Java
- file i/o
- git 설정
- 스키마 설계
- Spring 예외처리
- set-version
- 배열 탐색
- N:N
- 스키마 디자인
- 코드스테이츠
- AOP
- custom exception
- 자료구조
- 탐욕 알고리즘
- Spring MVC
- git workflow
- REST HTTP API
- 리눅스 사용권한
- O(log n)
- ubuntu 패스워드
- 함수형 인터페이스
- JAVA 재귀함수
- http 응답코드
- RestControllerAdvice
- ubuntu passwd
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