打印0之前的最后一个结果

2024-09-30 12:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python。 我有以下代码:

def EucAlg(x, y):
    mod = x%y
    print (mod)
    while x % y != 0:
        print (y%(mod))
        mod = y%(mod)

当“mod=0”时,我只想打印0之前的最后一个数字

EucAlg(1112,695)

Tags: 代码moddef数字printwhileeucalg
1条回答
网友
1楼 · 发布于 2024-09-30 12:32:37

你真的不需要所有的代码。您可以只跟踪xy,并在y为零时中断。它使算法背后的思想更加清晰:

def EucAlg(x, y):
    while y != 0:
        x, y = y, x % y
    print (x)  # consider returning x rather than printing it


EucAlg(1112,695)
# 139

EucAlg(695,1112)
# 139

EucAlg(10,5)
# 5

EucAlg(13,11)
# 1

相关问题 更多 >

    热门问题