1466: 유빈이의 카드놀이
메모리제한:128 MB
시간제한:1.000 S
Judge Style:Text Compare
만든사람:
제출:29
통과:7
문제 설명
유빈이가 학교에 신기한 카드를 가지고 왔다.
카드는 친구들이 말하는 숫자만큼 늘어나며 각각의 카드는 1부터 N까지의 번호가 붙어있다.
1번 카드가 제일 앞에, N번 카드가 제일 뒤인 순서대로 카드가 놓여있다.
유빈이는 마술을 보여준다며 다음과 같은 동작을 카드가 한 장 남을 때 까지 반복하게 된다.
우선, 제일 위에 있는 카드를 바닥에 버린다. 그리고 현재 카드뭉치의 제일 앞에 있는 카드를 제일 뒤에 있는 카드 뒤로 옮긴다.
예를 들어, N이 4인 경우 카드는 제일 앞에서부터 1234의 순서로 놓여있다. 1을 버리면 234가 남아있고 여기서 2를 제일 뒤로 옮기면 342가 된다. 다시 3을 버리면 42가 되고, 4를 맨 뒤로 옮기면 24가 된다.
마지막으로 2를 버리고 나면, 버린 카드들은 순서대로 1 3 2가 되고, 남는 카드는 4가 된다.
N이 주어졌을 때, 버린 카드들을 순서대로 출력하고 마지막에 남게 되는 카드를 출력하는 프로그램을 작성해보자.
카드는 친구들이 말하는 숫자만큼 늘어나며 각각의 카드는 1부터 N까지의 번호가 붙어있다.
1번 카드가 제일 앞에, N번 카드가 제일 뒤인 순서대로 카드가 놓여있다.
유빈이는 마술을 보여준다며 다음과 같은 동작을 카드가 한 장 남을 때 까지 반복하게 된다.
우선, 제일 위에 있는 카드를 바닥에 버린다. 그리고 현재 카드뭉치의 제일 앞에 있는 카드를 제일 뒤에 있는 카드 뒤로 옮긴다.
예를 들어, N이 4인 경우 카드는 제일 앞에서부터 1234의 순서로 놓여있다. 1을 버리면 234가 남아있고 여기서 2를 제일 뒤로 옮기면 342가 된다. 다시 3을 버리면 42가 되고, 4를 맨 뒤로 옮기면 24가 된다.
마지막으로 2를 버리고 나면, 버린 카드들은 순서대로 1 3 2가 되고, 남는 카드는 4가 된다.
N이 주어졌을 때, 버린 카드들을 순서대로 출력하고 마지막에 남게 되는 카드를 출력하는 프로그램을 작성해보자.
입력 설명
첫째 줄에 정수 N(1≤N≤1,000)이 주어진다.
출력 설명
첫째 줄에 버리는 카드들을 순서대로 출력한다. 제일 마지막에는 남게 되는 카드의 번호를 출력한다.
입력 예시 Copy
7
출력 예시 Copy
1 3 5 7 4 2 6
도움
[입력 예시 2]
5
[출력 예시 2]
1 3 5 4 2
5
[출력 예시 2]
1 3 5 4 2