お金の支払い paiza Cランク

今回の問題は「2重ループ」がお題でした。

模範解答では、支払う硬貨x,yの枚数の組み合わせを総当たりして、支払い金額zよりも小さい組み合わせの中から、枚数の少ないものを探し出すというものでした。

しかし、この方法は思いつかなかったので、ループを使わずに、2種類の払い方のコイン枚数を計算し、枚数の小さい方を出力しました。この方が計算速度は早いんじゃないかと思います。

# coding: utf-8
# 自分の得意な言語で
# Let's チャレンジ!!
x,y,z = [int(x) for x in input().split()]
#print(x,y,z)
cnt=0
cnt2=0
cnt=int(z/y)
cnt+=int(z%y/x)
cnt+=(z%y)%x
cnt2=int(z/x)
cnt2+=int(z%x/y)
cnt2+=(z%x)%y
if cnt < cnt2:
    print(cnt)
else:
    print(cnt2)