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

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 


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

Section006 - 피보나치 수열의 합입니다.

변수 k는 이해하기 쉽게 sum으로 사용 하였습니다.


피보나치 수열은 첫 번째 + 두 번째 항으로 세 번째 항을 만들고,

두 번째 항 + 세 번째 항 = 네 번째 항

세 번째 항 + 네 번째 항 = 다섯 번째 항

... 이런 식으로 더해가는 수열입니다.



Section006.java


public class Section006 {

	public static void main(String[] args) {
		int A = 1;	// 첫 번째 항의 값
		int B = 1;	// 두 번째 항의 값
		int C;		// 세 번째 항의 값(A+B의 값)
		int hap = 2;	// 초기값은 2
		int cnt = 2;	// 항의 갯수
		
		for(int i=1; i<=20; i++) {
			C = A + B;
			hap = hap + C;
			cnt = cnt + 1;
			//System.out.println(A + "  &  " + B);
			A = B;
			B = C;
		}
		System.out.println("결과 값 : " + hap);
	}
}



결과 값

46367

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

Section002, 1부터 100까지 부호 교차합입니다.

변수 j는 이해하기 쉽게 sum으로 사용 하였습니다.



Section002.java

public class Section002 {

	public static void main(String[] args) {
		int i = 0;
		int sum = 0;	// 합을 저장하는 변수
		int sw = 0;		// 부호 변경을 위한 스위치

		for (i = 1; i <= 100; i++) {
			if (sw == 0) {
				sum = sum + i;
				sw = 1;		// +였으니 -로(0->1)
			} else {
				sum = sum - i;
				sw = 0;		// -였으니 +로(1->0)
			}
		}
		System.out.println("결과 값 : " + sum);
	}
}



실행화면


결과 값 : -50


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

Section001, 1부터 100까지 합입니다.

변수 j는 이해하기 쉽게 sum으로 사용 하였습니다.



Section001.java

public class Section001 {

	public static void main(String[] args) {
		int i = 0;
		int sum = 0;	// j 대신 사용
		
		for(i=1; i<=100; i++) {
			sum = sum + i;
			//System.out.println(i + "번째 합 = " + sum);
		}
		System.out.println("1부터 100까지 합 = " + sum);
	}
}



실행화면


5050


+ Recent posts