본문 바로가기

TIL/Java

Basic Algorithm 5th

반응형

1. 사용자로부터 입력받은 숫자까지의 소수만 출력하기

(소수란 약수가 1과 자기 자신만 있는 것)

Scanner를 통해 사용자로부터 입력받은 값을 Int형식으로 num에 넣는다

음수에는 소수가 없기 때문에 반복문을 통해 num이 음수일 때는 다시 입력하라는 메시지를 띄워준다

체크넘버(chkNum) 는 2부터 입력받은 num까지 반복문을 돌리는데 2부터 시작하는 이유는 0,1 은 소수가 아니기 때문이다

그리고 다중 반복문으로 나누는숫자(divNum) 을 chkNum까지 반복시켜준다

다중 반복문안에 만약 체크 넘버를 divNum으로 나눴을 때 나머지가 0인 경우 count를 올려준다

쉽게 설명해서

체크넘버가 2일 경우 - divNum = 1부터 2까지

2 % 1 == 0 (카운트 추가) 2 % 2 == 0 (카운트 추가) - 결론적으로 숫자 2는 카운트가 2개이다.

체크넘버가 3일 경우 - divNum = 1부터 3까지

3 % 1 == 0 (카운트 추가) 3 % 2!= 0 (카운트 추가하지 않음) 3 % 3 == 0 (카운트 추가 ) - 결론적으로 숫자 3은 카운트가 2개이다

체크 넘버가 4일 경우 - divNum = 1부터 4까지

4 % 1 == 0 (카운트 추가) 4 % 2 == 0 (카운트 추가) 4 % 3!= 0 (카운트 추가하지 않음) 4 % 4 == 0 (카운트 추가)

-> 결론적으로 4는 카운트가 3개

이 로직으로 알 수 있는 건

소수는 약수가 1과 자신밖에 없어야 하므로 카운트가 2개인 것만 속한다는 것

결론적으로,

가정문을 사용하여 count가 2개인 경우만 출력하면

사용자로부터 입력받은 num까지의 소수만 출력하게 된다

반응형

'TIL > Java' 카테고리의 다른 글

Basic Algorithm 7th  (0) 2021.08.03
Basic Algorithm 6th  (0) 2021.08.03
Basic Algorithm 4th  (0) 2021.08.02
Basic Algorithm 3rd  (0) 2021.08.02
Basic Algorithm 2nd  (0) 2021.08.02