사용자로 부터 입력받은 숫자까지의 소수를 구하시오.
들어가기에 앞서 소수란 무엇인가
=> 1과 자기 자신외의 약수를 가지지 않는 1보다 큰 자연수
자기 자신을 제외하고는 약수가 없다.
바깥쪽 for문을 먼저 살펴보자
1. 1과 자기 자신을 제외하니 for문의 초기값은 2로 초기화 해준다
2. 소수를 알고싶은 범위까지의 숫자를 받으니 <=(같거나 클때까지)를 사용하여주고
증가값은 ++i로 설정해 1씩 증가하며 검사해 주도록 한다
안쪽 for문으로 넘어가서 보도록 하자
1. j는 2부터 바깥쪽 for문의 i값과 같아질때까지 1씩 증가하며 검사한다
( i 가 5라면 5까지 검사해준다)
2. (중요) if문의 조건 = i가 j와 같지않으면서 i % j 가 0과 같을경우 브레이크
※1과 자기자신을 제외하고는 나눠지면 안되는것이 소수의 조건이다
그렇기에 i != j 자기 자신과 같지 않으면서 i % j == 0 약수인것이 있다면 소수가 아니기에 break;를 걸어주고
자기 자신과 같으면서 위의 조건에 걸리지 않았다면 소수이기에 출력하여준다.
'공부 > Java 복습' 카테고리의 다른 글
Java 정규 표현식을 이용한 올바른 이메일 형식 찾기와 중복 제거 (0) | 2021.08.19 |
---|---|
Java 차량 5부제 (0) | 2021.08.16 |
Java 달력 만들기 (0) | 2021.08.13 |
Java 핸드폰 번호 검사 (0) | 2021.08.12 |
Java 사용 가능 주민등록 체크 (0) | 2021.08.11 |