Python 魚を配る

ある夜、A、B、C、D、Eの5人が一緒に釣りに行き、翌日の未明までに疲れ果てて、寝る場所を見つけます。

Aは最初に目を覚まし、魚を5人分に分け、余計の1尾を捨て、自分の分を持ち去ります。

Bは2番目に目を覚まし、彼も魚を5人分に分け、余計の1尾を捨て、自分の分を持ち去ります。

C、D、Eが順番に目を覚まし、同じ方法で魚を持ち去ります。

彼らは少なくとも何尾の魚を釣りましたか?

実例

def main():
    fish = 1
    while True:
        total, enough = fish, True
        for _ in range(5):
            if (total - 1) % 5 == 0:
                total = (total - 1)  //  5 * 4
            else:
                enough = False
                break
        if enough:
     print(f'合計で{fish}尾がいる')
            break
        fish += 1


if __name__ == '__main__':
    main()

結果:

合計で3121尾がいる
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です