ある夜、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尾がいる
コメントを残す