我正在尝试解决 FizzBuzz 游戏。
我需要检查一个数字是否可以被 3 整除。因此,当我们取一个数字并将其除以 3 时,我们需要该操作没有 REST,或者 0 REST。
给我的解决方案是这样的:
def fizzbuzz(number)
if number % 3 == 0
return "Fizz"
end
为什么他们建议使用“%”符号?为什么不是“/”符号?或者两者的作用相同?
如何查看分区是否NO REST?
最佳答案
除法运算符 /
- 无论除法的余数是多少,都给出除法的商。因此,您无法使用除法运算符 (/
) 确定数字是否可完全整除(余数 = 0)或不可完全整除(余数非零)。
10 / 3
#=> 3
模运算符 %
- 给出除法的余数。如果可以完全整除,则输出为 0
,如果不能完全整除,则输出为非零值。
10 % 3
#=> 1
在你的例子中,number % 3 == 0
是 true
仅当 number
可以被 3 整除且余数为 0(即如果 >number
传递给方法 frizzbuzz
是 3 的倍数,例如 -12、-3、3、6、9 等)
关于ruby-on-rails - Ruby 中的 "%"和 "/"符号差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315229/