`
kenby
  • 浏览: 717253 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

约瑟夫问题求解(C++)

阅读更多

 

设有n 个人站成一圈,每个人持有一个密码(正整数) 。现从第t 个人开始,按顺时针方向“1,2,3,4, …”循环报数,数到m1 (第t 个人所持密码)的人出列,然后从出列者的下一个人重新开始报数,数到m2 (刚出列者所持密码)的人又出列,如此重复进行,直到n 个人都出列为止。

问题是 对于任意给定的n 个人的原始排列顺序,求出n 个人的出列顺序。

输入数据从文本文件中读取。该文件有两行:第1 行只有一个整数,表示报数的起始位置;第2 行是n 个所持密码。

输出结果显示在屏幕上。

例如,从文本文件读取数据

2

5 6 3 2 2 4

屏幕显示

1 6 5 3 4 2

程序如下:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics