我是Ruby的新手,我想知道什么是更多的Ruby'编写此代码的方法。我不知道我的语法是否正确。非常感谢您的帮助。
另外,如果我想在Mac终端上运行它,我应该命令' ruby eulerfunction.rb'?
eulerfunction.rb:
def gcd(n1, n2)
x, y = n1, n2
if x > y
#switch them#
t = x
x = y
y = t
loop
k = x / y
r = x % y
if r == 0
break
puts x + " = " + k + "x" + y + " + " + r
x = y
y = r
puts "gcd(" + n1 + "," + n2 + ") = " + y
def eulerf(n)
count = 0
for (i = 1; n -1; i++)
if gcd(n, i) == 1
count++
puts "Eulerf(" + n + ") = " + count
答案 0 :(得分:1)
Ruby有一个gcd方法; Ruby的方式是使用它:
20.gcd(30) #=> 10
答案 1 :(得分:-1)
几点:
r
或gcd
这样的东西),这清除了代码中的混乱我只知道它们是什么,因为我知道你的代码在做什么,但情况并非总是如此。 最重要的是,正如评论中提到的那样,关于SO的问题可能会有非常主观的答案,但这些问题不会走得太远。如果你有特定的和可量化的东西,你更有可能得到答案。另外,请努力学习您的代码示例(即学习语法),并对自己和回答您的问题的人非常清楚。