공부/Java 복습

Java 소수 구하기

ChoiDooSic 2021. 8. 14. 23:44

사용자로 부터 입력받은 숫자까지의 소수를 구하시오.

들어가기에 앞서 소수란 무엇인가

=> 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;를 걸어주고

자기 자신과 같으면서 위의 조건에 걸리지 않았다면 소수이기에 출력하여준다.