博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
约瑟夫环Ruby算法
阅读量:6223 次
发布时间:2019-06-21

本文共 369 字,大约阅读时间需要 1 分钟。

N个人排成一圈,编号为1~n。

从1号开始报数,当报到M时,该位置的人出局,余下的人依然是一个圈,从下一个人开始报数(从1开始),再到第M个出局。


输入n和m,输出这个出局序列


RUBY代码:

def circle(n,m)
  arr=(1..n).to_a
  i=0
  while arr.length>0
    x=(i+m-1)%arr.length
    puts arr[x]
    arr.delete_at(x)
    i=x
  end
end
puts "input n and m: [eg:12,5]"
n,m=gets.chomp.split(",")
circle(n.to_i,m.to_i)
本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/140486,如需转载请自行联系原作者
你可能感兴趣的文章
古典密码-多表密码体制
查看>>
Python多进程(multiprocessing)
查看>>
本地hosts文件
查看>>
CF24D Broken robot
查看>>
apt --fix-broken install
查看>>
Linux 系统 Apache 301 重定向配置方法
查看>>
awk-sed
查看>>
创建、删除索引
查看>>
网络对抗技术_作业一_201521460018
查看>>
二维数组中的查找
查看>>
[CF983D]Arkady and Rectangles
查看>>
EXTJS4-----前言
查看>>
CSS 收集
查看>>
触发器
查看>>
Linux atop监控工具部署
查看>>
Mysql中一级缓存二级缓存区别
查看>>
字符串hash + 二分答案 - 求最长公共子串 --- poj 2774
查看>>
关于channel的一些坑
查看>>
Math类中的floor、ceil和round方法
查看>>
Android4.4 以太网和DHCP启动过程介绍
查看>>