菜鸟的问题:求和

菜鸟的问题:求和

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

Thank you very much, I am waiting online
已经解决!如下

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!
也可以这样做,写一个方法来实现,如下所示

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

puts totalSum(10), ""
puts totalSum(100), ""
(1+n)*n/2
利用等差數列的求和公式
def intSum(intS,intE)
 return (intS+intE)*(intE-intS+1)/2
end
p intSum(1,100)  # 5050
這個效率比循環快很多 樓主可以試下
他的需求是1..N的和,所以也没什么必要-1+1了……
$s=0
1.upto(n){|i| $s+=i}
puts $s