A問題 けんしょう先生のお菓子配り
1 2 3 4 5 6 7 8 9 10 11 12 |
a = int(input()) #変数aにint型で入力値を代入 b = int(input()) #変数bにint型で入力値を代入 if a % b == 0: #a÷bの余りが0の場合 print(0) #0を出力 exit() #プログラムを終了 else: # a÷bの余りが0以外の場合 for i in range(1,101): #ループ変数をiとして、1~100まで繰り返す c = b*i #変数cにb×iを代入 if c >= a: #cがaより大きい場合 break #ループを終了 print(c-a) #c(つまりbの倍数)-aを出力 |
aとbの値が入力されます。a÷bで割り切れるまでaの数字を増やしていく問題です。
大苦戦しました。
こちらの解答では、bの倍数がaより大きくなった場合に、aとbの倍数の差を答えとして出力しています。
例えばaが11、bが5の場合、bに3を掛け算すると15になり、aより値が大きくなります。
この時、15-11=4がaに加えなければならない数であり、解答になります。
別解
1 2 3 4 5 6 7 8 9 10 11 12 |
a = int(input()) b = int(input()) if a % b == 0: #a÷bの余りが0の場合 print(0) #0を出力 exit() #プログラムを終了 else: #a÷bの余りが0以外の場合 for i in range(1,101): #ループ変数をiとして、1~100まで繰り返す a += 1 #変数aにa+1の値を代入 if a % b == 0: #a÷bの余りが0の場合 print(i) #iを出力 break #ループを終了 |
こちらは、a÷bの余りが0になるまでaに1を加え続けています。
コメント