ABC148 C - Snack
備忘録
問題
回答
"use strict" function Main(input) { input = input.trim().split(' ').map(Number); const A = input[0]; const B = input[1]; let ret = 0; for(let i=1; i<=B;i++){ let tmp = A * i; if(tmp%B === 0){ ret = tmp; break; } } console.log(ret); } Main(require("fs").readFileSync("/dev/stdin", "utf8"));
考え方
参加者がA
人、B
人、どちらの場合でも配り切れるお菓子の最小値(X
)を算出する。
A
でもB
でも配り切れるX
なので、A
とB
の最小公倍数であるといえる。
そのため、A * i(1≦i≦B)
を1から順にB
で割り切れるか否かを判定し、
割り切れる場合には公倍数であるため、一番初め(最小値)を出力する。