#C. 善良的约瑟夫

    传统题 1000ms 256MiB

善良的约瑟夫

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Description

你一定听说过约瑟夫问题。它的结果是找出了 N 个人中唯一的幸存者。现在 你要参与一个新的游戏,它的结果比原先那个游戏更令人满意。

说明

假设 N 个游戏者站成一个圈。从编号为 1 的游戏者开始每隔一个人暂时性地 去掉一个人(比如一开始去掉的是 2 号)直到最后还剩一个人。当幸存者产生后 所有比他编号高的游戏者将从约瑟夫那里获得 1 孟加拉币,他们也将永久地离开 游戏。对于剩下的游戏者也将进行同样的操作。当某一次操作以后没有人退出游 戏,那么游戏中还剩下的人将获得 2 孟加拉币并且游戏结束。你的任务就是查明 约瑟夫最终一共要付给游戏者多少钱?

比如,共有 5 人参加游戏,第一轮的幸存者是 3 号,所以 4 号和 5 号游戏者 将获得 1 孟加拉币并离开游戏。再下一轮中幸存者仍然是 3 号,因此没有人应该 离开,所以剩下的每个人将获得 2 孟加拉币并且游戏结束。所以约瑟夫一共要付 (2 + 2 x 3 =)8 孟加拉币。

Format

Input

每一个测试数据的输入占一行,是一个不超过 32,767 的整数。文件结束的 同时输入结束。

Output

每一个测试数据的输出占一行,是一个不超过 65,535 的整数,代表约瑟夫 共要付出的钱数。

Samples

5
10
7
8
13
14

7月8日简单题

未认领
状态
已结束
题目
5
开始时间
2023-7-1 0:00
截止时间
2023-8-31 23:59
可延期
24 小时