自学了这么久python.我了解了一种感觉就是凡事别太较真。
如果你知道一个数n1的公约数不可能大于n1/2,你就可以试图使用下面的循环来改善你的程序:
n1 = eval(input("Enter first integer: "))
n2 = eval(input("Enter second integer: "))
K = 2
while k <= n1/2 and k<=n2/2:
if n1% k == 0 and n2 % k == 0:
gcd = k
k += 1
这个程序是错的,你能找出原因吗??
你能超出 你DAYE的原因。
没有答案自学。所以你寻找答案的空间会被无限放大。
我今天的方法是
就按自己想的来解答。在乎就是恐惧。不要带着恐惧生活。
下面就是我的回答,希望给大家以帮助谢谢
n1 = eval(input("Enter first integer: "))
n2 = eval(input("Enter second integer: "))
gcd = 1
k = 2
while k <= n1/2 and k <= n2:
if n1 % k == 0 and n2 % k == 0:
gcd = k
print(f"gcd is {gcd}")
k += 1
print("The greatest common divisor for",
n1, "and", n2, "is", gcd)