打印0

问题描述

我正在使用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)

解决方法

您实际上并不需要所有代码。您只需跟踪> y [1] 9 72 49 70 16 3 3 4 81 6 43 7 12 9 3 is.integer(sqrt(y)) [1] FALSE > ifelse(is.integer(sqrt(y)),y) [1] 9 > ifelse(sqrt(y)==is.integer(y),y) [1] 9 72 49 70 16 3 3 4 81 6 43 7 12 9 3 x并在y为零时中断即可。它使算法背后的思想更加清晰:

y