查看完整版本: 菜鸟的问题:求和

moonprince 2008-8-9 10:13

菜鸟的问题:求和

菜鸟的问题:请问给出一个n(interger),如何求从1到N的和?

moonprince 2008-8-9 14:21

用循环语句求。

Thank you very much, I am waiting online

moonprince 2008-8-9 17:30

已经解决!如下

question:

Problem 2 Make a program that accepts a number as input, and outputs the sum of a series
of numbers (1,2,3,4,5....) up to the input number.

Key:
print "Sum number:"
n = gets.to_i

s=0
for i in 1..n
     s=s+i
end  
      
  puts s


Thank you for your concern!

keymi 2008-8-19 15:05

也可以这样做,写一个方法来实现,如下所示

def totalSum(n)
  sum = 0
  n.downto(1) {|i| sum += i }
  return sum
end

puts totalSum(10), ""
puts totalSum(100), ""

Hozaka 2008-8-19 20:11

(1+n)*n/2

wscc111 2008-8-20 09:19

引申一下 參考樓上的

利用等差數列的求和公式
def intSum(intS,intE)
   return (intS+intE)*(intE-intS+1)/2
end
p intSum(1,100)    # 5050
這個效率比循環快很多 樓主可以試下

Hozaka 2008-8-20 15:57

他的需求是1..N的和,所以也没什么必要-1+1了……

aegiryy 2008-8-23 19:39

$s=0
1.upto(n){|i| $s+=i}
puts $s
页: [1]
查看完整版本: 菜鸟的问题:求和