[문제] Josephus’ Problem

     <o:p></o:p>

n명이 원형으로 둘러앉아 있다. 이들 n명이 순차적으로 1부터 n까지의 번호를 가지고 있다고 가정한 후, 1번부터 시작하여 k명 건너 한 사람씩 자리에서 떠날 경우에 마지막으로 남게 되는 k명의 번호를 인쇄하는 프로그램을 작성하되,

     <o:p></o:p>

singly linked list를 기본구조로 사용한 함수

array를 기본구조로 사용한 함수

doubly linked list를 기본구조로 사용한 함수

의 경우로 각각 작성한 후,

작성한 함수를 모두 test 해 볼 수 있도록 하나의 main함수로 작성하라.

     <o:p></o:p>

[입력양식]

자연수 n, k값은 프로그램 실행 시에 key-board 로 입력한다고 가정한다.

(, n>k>1), 특히 n=41, k=2일 경우를 꼭 test해 볼 것.

[출력양식](, n=5, k=2일 경우)

The set of remaining numbers is {2,4}

[참고]

(1) 입력 값 nk를 바꾸면서 test할 수 있도록 main함수 안에 loop를 만들 것.

void main(){

```

````              /* nk값을 읽음 */

while(1){

``` /*각가의 함수를 호출함*/

```

printf(“Do you want to stop?(Y/N)”);

if((c = getch()) == ‘Y’ || c == ‘y’) break;

```

}

```

     <o:p></o:p>

}

(2) source code list test 한 결과물을 hard copy 형태로 제출할 것.

(3)배점 : 함수 은 필수<5>, 함수 +<6>, 함수 ++<7> 으로 채점함.


 

----------------------------------------------------------------------------------------------------------------------

명지대 학우분들 우리같이 힘내보아요 ^_^