정보처리기사 / 정보처리산업기사 실기시험 알고리즘의

Section011 - 약수 구하기 입니다.


입력 받은 수를 1부터 차례대로 나누어 나머지가 0이 되는 제수들이 바로 입력 받은 수의 약수 입니다.


23번과 24번 줄은 자바로 구현하기 위해

알고리즘 책과 순서가 서로 바뀌었습니다.

참고 해주세요!



Section011.java

public class Section011 {

	public static void main(String[] args) {
		int[] A = new int[100];
		int B = 10;
		int C = 0; // 제수가 저장될 변수
		int D = 0; // A배열의 위치를 지정하는 변수
		int i;
		int MOK, NMG;

		while (true) {
			C = C + 1;	// 제수를 B까지 변화시키기 위해 1씩 증가시킴
			if (C > B) {
				System.out.println("입력받은 숫자 : " + B);
				for (i = 0; i < D; i++)
					System.out.print(A[i] + " ");
				System.out.println("");
				break;
			} else {
				MOK = B / C;
				NMG = B - MOK * C;
				if (NMG == 0) {
					A[D] = C;
					D = D + 1;	// 약수의 개수를 셈
				}
			}
		}
	}

}



결과 값

입력받은 숫자 : 10
1 2 5 10 


+ Recent posts