【发布时间】:2014-01-23 11:20:54
【问题描述】:
想知道是否有一种方法可以在不使用操作符号 (*) 的情况下编写对数字(整数或小数/浮点数)进行平方的方法。例如:2 的平方将是4,2.5 的平方将是6.25,3.5 的平方将是12.25。
这是我的方法:
def square(num)
number = num
number2 = number
(1...(number2.floor)).each{ num += number }
num
end
puts square(2) #=> 4 [Correct]
puts square(16) #=> 256 [Correct]
puts square(2.5) #=> 5.0 [Wrong]
puts square(3.5) #=> 10.5 [Wrong]
代码适用于整数,但不适用于浮点数/小数。我在这里做错了什么?另外,如果有人对这个问题有新的方法,请分享。算法也很受欢迎。此外,考虑到该方法的性能将是一个加分项。
【问题讨论】:
-
2.5到5.0.. 这是正确的吗?怎么样? -
我的错,是 6.25。感谢您的关注:)
标签: ruby algorithm numbers perfect-square