본문 바로가기

정보처리65

[정보처리기사][알고리즘][수학] 소인수 분해하기 Q. 정수를 입력 받아 소인수를 구해 출력하는 순서도를 작성하시오. 1. 소인수를 저장할 배열 A를 선언한다. 2. 소인수로 분해할 숫자를 입력 받는다. 3. 소인수를 저장할 배열의 위치 C를 0으로 치기화한다. 4. 소인수를 구할 때 사용되는 제수가 저장될 변수 D를 초기화한다. 소인수를 구할때도 피제수를 2부터 나눠준다는 것을 생각한다. 5. 입력받은 값 B의 제곱근을 구해 정수로 변환한 후 E에 저장한다. 6. 제수가 피제수의 제곱근보다 크면 그때는 피제수 자체가 입력받은 수의 소인수이므로 YES로 가고, 아니면 NO로 간다. YES 경우A. B 자체가 소인수이므로 이에 알맞은 처리를 한다. NO 경우A. B를 D로 나눈 몫을 MOK에 저장한다. B. B를 D로 나눈 나머기를 구하여 NMG에 저장한.. 2015. 8. 15.
[정보처리기사][알고리즘][수학] 약수구하기 Q. 정수를 입력 받아 약수를 구해 출력하는 순서도를 작성하시오. 1. 약수를 저장할 1차원 배열 A를 선언한다.​2. 약수를 구할 숫자를 입력 받는다.​3. C는 1씩 누적되며 증가하는 변수이므로 C를 0으로 초기화한다. D는 1씩 누적되며 증가하는 변수이므로 D를 0으로 치기화한다.​4. 제수 C를 1부터 B까지 변화시키기 위해 1씩 증가시킨다.​5. B에 대한 약수를 더 구할지를 판단한다. 제수가 피제수보다 크면 피제수에 대한 약수를 모두 구했다는 것을 생각한다.​1) 작거나 같으면 B를 C로 나눈 몫을 MOK에 저장한다.​A B를 C로 나눈 나머지를 구한 후 NMG에 저장한다.​B. NMG가 0이면 제수 C가 B의 약수를 저장하기 위해 YES로 가고, 나이면 다른 수로 나눠보기 위해 4번으로 간다.. 2015. 8. 15.
[정보처리기사][알고리즘][수학] 최대공약수, 최소공배수 Q. 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 계산하여 출력하는 순서도를 작성하시오. 1. 최대공약수와 최소공배수를 구할 두수를 입력받는다. 2. A와 B의 대소를 비교하여 큰 수와 작은 수를 결정한다. 정황상 BIG에는 큰수가, SMALL에는 작은수가 저장된다.는 것을 생각한다. 1) A가 크거나 같은때, A가 큰수이므로 BIG에 A를 치환한다. A. B가 작은 수이므로 SMALL에 B를 치환한다. 2) B가 큰수 이므로 BIG에 B를 치환한다. A. A가 작은 수이므로 SMALL에 A를 치환한다. 3. 큰수를 작은 수로 나눈 나머지를 구하기 위해 큰 수를 작은수로 나누어 몫을 MOK에 저장한다. 4. 나머지를 구한다. 5. 최대공약수인지를 판별한다. 큰 수를 작은 수로 나누되 나머지가 0이.. 2015. 8. 14.
[정보처리기사][알고리즘][수학] 소수의개수 Q. 배열 A(99)에 2~100 사이의 정수를 기억시킨 후 이 배열을 이용하여 소수의 개수를 구하시오. 1. 숫자가 저장될 배열 A를 선언한다. 2. K는 1씩 누적되며 증가하는 변수인데, 2부터 배열에 저장되므로 1로 초기화한다. 3. K를 2에서 100까지 변화시키기 위해 1씩 증가시킨다. 4. 99개의 배열에 2 ~ 100까지의 수를 저장한다. 1번째에 2가 저장됨을 생각한다. 5. K가 100보다 크거나 같으면 데이터입력을 모두 마친것이므로 Yes로 가고, 아니면 다음 입력을 위해 No로 간다. 1) No일 경우, 3으로 간다. 2) Yes일 경우, 6으로 간다. 6. 배열의 위치를 지정한 i는 1씩 누적되며 증가하는 변수이므로 0으로 초기화한다. J는 소수의 개수를 누적하기 위한 변수이므로 0.. 2015. 8. 14.