Ruby编程在一段时间内每天翻倍一便士

Ruby编程在一段时间内每天翻倍一便士,ruby,Ruby,我是新来的,把Ruby作为我的第一语言。以下是我已有的代码: =begin this program is to calculate doubling a penny a day for thirty one days =end puts "how many days would you like to calculate" days = gets.chomp.to_i i = 1 loop do puts "#{i}" break i >=100 end 我

我是新来的,把Ruby作为我的第一语言。以下是我已有的代码:

=begin
this program is to calculate doubling a penny a day for thirty one days
=end

puts "how many days would you like to calculate"
days = gets.chomp.to_i

i = 1
    loop do
    puts "#{i}"
    break i >=100
end
我尝试过使用**,因为这是指数用法的语法。我也考虑过一个直到循环,但我最困难的是如何在给定的时间内每天将每个整数加倍

我也尝试过
“#{I**2}”
“#{I**I}”
,在过去的两天里,我尝试过用谷歌搜索这个问题,但都没有用。

尝试:

# Display the question to the user in the terminal
puts 'How many days would you like to calculate?'

# Get the number of days from stdin
days = gets.chomp.to_i

# starting at 1 and up to the number of days start doubling. Reduce returns the result back to itself, thus doubling the return of each number until you have reached the up to limit.
result = 1.upto(days).reduce { |start| start * 2 }

# Put the result
puts result
尝试:

尝试:

尝试:


这里不需要任何循环。电源呢?如果你想在31天内翻倍1便士,你需要计算2^30:

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 2 ** (days - 1)

这里不需要任何循环。电源呢?如果你想在31天内翻倍1便士,你需要计算2^30:

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 2 ** (days - 1)

这里不需要任何循环。电源呢?如果你想在31天内翻倍1便士,你需要计算2^30:

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 2 ** (days - 1)

这里不需要任何循环。电源呢?如果你想在31天内翻倍1便士,你需要计算2^30:

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 2 ** (days - 1)

它可以使用简单的位移位操作来完成。二进制值“1”左移n次用于计算2^n

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 1 << (days - 1)
显示“您希望计算多少天”
天=gets.chomp.to_i

puts 1可以使用简单的位移位操作来完成。二进制值“1”左移n次用于计算2^n

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 1 << (days - 1)
显示“您希望计算多少天”
天=gets.chomp.to_i

puts 1可以使用简单的位移位操作来完成。二进制值“1”左移n次用于计算2^n

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 1 << (days - 1)
显示“您希望计算多少天”
天=gets.chomp.to_i

puts 1可以使用简单的位移位操作来完成。二进制值“1”左移n次用于计算2^n

puts "how many days would you like to calculate"
days = gets.chomp.to_i
puts 1 << (days - 1)
显示“您希望计算多少天”
天=gets.chomp.to_i


放置1我不能将其添加到上一篇文章中,因为这是令人震惊的没有被传输的代码,在我的哈希符号中有多应用符号**,从数学角度来看,结果将是
2^x
,其中x是天数。@Ajedi32不正确,由于您还需要添加前几天的输出,您能澄清一下您的意思吗?这确实考虑到了前几天的结果…@Ajedi32我很抱歉,我认为这是一个复利问题。你是对的。我不能将此添加到上一篇文章中,因为这是令人震惊的没有被传输的代码,在我的哈希符号中有多应用符号**,从数学角度来看,结果将是
2^x
,其中x是天数。@Ajedi32不正确,由于您还需要添加前几天的输出,您能澄清一下您的意思吗?这确实考虑到了前几天的结果…@Ajedi32我很抱歉,我认为这是一个复利问题。你是对的。我不能将此添加到上一篇文章中,因为这是令人震惊的没有被传输的代码,在我的哈希符号中有多应用符号**,从数学角度来看,结果将是
2^x
,其中x是天数。@Ajedi32不正确,由于您还需要添加前几天的输出,您能澄清一下您的意思吗?这确实考虑到了前几天的结果…@Ajedi32我很抱歉,我认为这是一个复利问题。你是对的。我不能将此添加到上一篇文章中,因为这是令人震惊的没有被传输的代码,在我的哈希符号中有多应用符号**,从数学角度来看,结果将是
2^x
,其中x是天数。@Ajedi32不正确,由于您还需要添加前几天的输出,您能澄清一下您的意思吗?这确实考虑到了前几天的结果…@Ajedi32我很抱歉,我认为这是一个复利问题。你是对的。考虑到OP对Ruby来说是全新的,对这里发生的事情进行一些解释可能是受欢迎的。好的,这是可行的,我喜欢代码的布局,但是请解释一下| start | start*2start是上一次迭代的返回值,第一次迭代从1开始。示例:第一次迭代的“开始”为“1”,并计算1*2,从而使第二次迭代的“开始”为2,并计算2*2,从而使第三次迭代的“开始”为4。计算4*2。。。。诸如此类。考虑到OP对Ruby来说是全新的,对这里发生的事情进行一些解释可能是受欢迎的。好的,这是可行的,我喜欢代码的布局,但请解释一下| start | start*2start是上一次迭代的返回值,第一次迭代从1开始。示例:第一次迭代的“开始”为“1”,并计算1*2,从而使第二次迭代的“开始”为2,并计算2*2,从而使第三次迭代的“开始”为4。计算4*2。。。。诸如此类。考虑到OP对Ruby来说是全新的,对这里发生的事情进行一些解释可能是受欢迎的。好的,这是可行的,我喜欢代码的布局,但请解释一下| start | start*2start是上一次迭代的返回值,第一次迭代从1开始。示例:第一次迭代的“开始”为“1”,并计算1*2,从而使第二次迭代的“开始”为2,并计算2*2,从而使第三次迭代的“开始”为4。计算4*2。。。。诸如此类。考虑到OP对Ruby来说是全新的,对这里发生的事情进行一些解释可能是受欢迎的。好的,这是可行的,我喜欢代码的布局,但请解释一下| start | start*2start是上一次迭代的返回值,第一次迭代从1开始。示例:第一次迭代的“开始”为“1”,并计算1*2,从而使第二次迭代的“开始”为2,并计算2*2,从而使