gem algorithms010 读然后学着写03

gem algorithms010 读然后学着写03
#1000日元换成最多15种硬币(10,50,100,500)
(0..100).each do |i|
  (0..20).each do |j|
    (0..10).each do |k|
      (0..2).each do |m|
        if i*10+j*50+k*100+m*500==1000 and 
            i+j+k+m <=15
          puts "#{i}*10+#{j}*50+#{k}*10+#{m}*500==1000\n"
        end
      end
    end
  end
end

问题6:考拉兹猜想
算得太慢了。
def caixiang(num)
  arr=[]
  old_num=num
  arr << num
  if num%2==0
    num =num*3+1
  end
  while num!=old_num
    arr << num
    if num%2==0
      num /= 2
    else
      num = num*3+1
    end
  end
  arr << num
  arr
end
puts caixiang(2).to_s
2.step(10000,2) do |i|
  a=caixiang(i)
  if a[-1]==i
    puts i
  end
end

日期转为整数不会做。其它的应该象这样:
num=19660713
puts num.to_s(2).reverse.to_i(2)
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值