1부터 100까지 소수를 구하는 프로그램
1. 소수란 무엇인가?
1과 자기자신 외에는 약수가 없는 숫자 = 약수의 갯수가 2인 숫자
2. 약수란 무엇인가?
a를 b로 나누어서 나눠떨어지면 b는 a의 약수이다.
예시) 5를 1로 나누어서 나눠떨어지면 1은 5의 약수이다.
= A를 B로 나누어서 나머지가 0이면 B는 A의 약수이다.
3. 어떤 숫자의 가장 큰 약수는? 자기자신이다
이 3가지 조건만 활용해서 1부터 100까지의 소수를 구하는 프로그램을 만들게 될 것이다.
package day0306;
public class Ex04PrimeNumber {
public static void main(String[] args) {
//여기서 우리가 중첩 for문을 만들어서 소수를 구하는데
// i for 문은 해당 숫자가 소수인지 아닌지를 검사할 숫자가 된다.
// 그렇다면 iStart는? 1
// iEnd는? 100
int iStart = 1;
int iEnd = 100;
for(int i =iStart; i <=iEnd; i++) {
//i의 약수가 몇개인지를 저장할 int변수 count를 선언과 초기화 해준다.
int count = 0;
//j for문에서 j 는 i의 약수인지 아닌지를 검사할 숫자가 된다.
//그렇다면
// jStart는? 1
//jEnd는?i
int jStart = 1;
int jEnd = i;
for(int j = jStart; j <= jEnd; j++) {
//j가 i의 약수일때마다
//count의 값을 1씩 증가시킨다.
if(i % j == 0 ) {
count++;
}
}
//count의 개수가 2일때마다
//i가 소수입니다라는 메세지를 출력해준다
if(count == 2) {
System.out.printf("[%3d]는 소수입니다.\n", i);
}
}
}
}
'JAVA > 국비 공부' 카테고리의 다른 글
3월 6일 수업(가위바위보 게임) (0) | 2021.03.08 |
---|---|
3월 6일 수업( Guessing Game) (0) | 2021.03.08 |
3월 6일 수업 (중첩for문) (0) | 2021.03.08 |
3월 6일 수업(반복문 02) (0) | 2021.03.08 |
3월 6일수업(반복문02) (0) | 2021.03.08 |