junee0203   2년 전

1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 M(≤ N)이 주어진다. 이제 순서대로 M번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, M)-조세퍼스 순열이라고 한다. 예를 들어 (7, 3)-조세퍼스 순열은 <3, 6, 2, 7, 5, 1, 4>이다.

N과 M이 주어지면 (N,M)-조세퍼스 순열을 구하는 프로그램을 작성하시오.


이 문제의 예시를 살펴보면, 1-2-3-4-5-6-7에서 3번째 수를 제거했으니 1-2-4-5-6-7이 되고, 여기에서 또 3번째 수를 제거한다는 의미로 저는 이해를 했는데, 어떻게 3,6,2,7,5,1,4가 나왔는지 그 누구도 설명을 해주지 않았더라구요... 혹시 설명 가능하신 분이 계시다면 설명좀 부탁드립니다.

simm4256   2년 전

제거한 위치를 기점으로 m번째 수를 제거해나갑니다.

3을 제거했으니 4부터 3번째수인 6을 제거하는겁니다.

uss425   1년 전

1 2 3 4 5 6 7 에서 3번째 3을 지우고,

그다음은 6을 지우고 하면

답이 6 3 1 7 5 2 4가 되지 않나요?? 

아무리해도 3 6 2 7 5 1 4 는 안나오는데..

댓글을 작성하려면 로그인해야 합니다.