2020小米二面プログラミング問題


質問1:任意の2つの整形の循環節を探します
考え方:毎回計算する余剰数に対して、余剰数が現れた場合、前の繰り返しステップを開始したことに相当する.
def calc(a, b, l1=[], l2=[]):
    while True:
        if (a % b) in l1:
            break
        l2.append(((a % b) * 10) // b)
        a %= b
        l1.append(a)
        a *= 10
    return l2

問題2:漢字の誤り訂正
参照先:https://www.cnblogs.com/yiduobaozhiblog1/p/8893538.html