본문 바로가기
Study/Algorithm_정보처리기사

[정보처리기사][알고리즘][수학] 10진수를 임의의 진수로 변환하기

by 푸민 2015. 8. 15.
반응형



Q. 10진수를 입력받아 2진수, 8진수, 16진수로 변환해서 출력하는 순서도를 작성하시오. 단, 진수의 표시에 사용될 0~9, A, B, C, D, E, F는 A(16)배열에 저장되어 있다고 가정한다.


1. 16개의 요소를 갖는 배열  A를 선언한다. 0~9, A, B, C, D, E, F가 저장되어 있다고 가정한다.

 

2. 변환할 진수(2~16)와 10진수를 입력받는다.

 

3. D는 1부터 B진수의 누승씩 증가하는 변수이므로 D를 1로 초기화한다.

 

4. 언제까지 변환할 진수의 누승을 구할 것인지 판단한다. 가장 가까운 누승은 입력 받은 수보다 커질때까지 변환할 진수의 베이스로 곱한 후 변환할 진수의 베이스로 한 번 나눈다는 것을 생각한다.

 

1) D가 C보다 작거나 같으면 변환할 진수의 베이스를 곱하여 누승을 만든다. 그리고 다시 4번으로 간다.

 

2) D가 C보다 크다면 5번으로 넘어간다.

 

5. 제수 D가 1보다 크면 YES로가고 아니면 NO로 간다.

 

1) YES일 경우, D는 변환한 진수(C)에 가장 가까운 누승부터 1까지 누승단위로 변환되어야 하므로 D를 B로 나누어 저장한다. 그리고 6으로 넘어간다.

 

2) No일 경우, 6으로 넘어간다.

 

6. C를 진수의 누승인 D로 나누어 몫을 E에 저장한다.

 

7. 나머지를 구하여 F에 저장한다.

 

8. 구해진 진수 1자리에 맞는 문자를 배열에서 찾아 출력한다. 이 알고리즘에서는 몫이 구해진 진수이고, 진수 표시에 사용할 문자들은 배열에 0부터 들어있다는 것을 생각한다.

 

9. 제수가 1이 아니면 계산할 작업이 남은 것이므로 YES로 가고 아니면 끝낸다.

 

1) Yes일 경우, 변환할 진수의 다음 자리를 계산하기 위한 조치를 한다. 나머지를 이용하여 다음 자리를 계산한다는 것을 생각한다. 그리고는 5번으로 간다.


해당 글은 제가 만든 어플을 기준으로 작성하였습니다.

더 많은 정보는 알고리즘 어플을 이용해주세요.

반응형

댓글