Official
A - Happy Birthday! 4 Editorial
by
A - Happy Birthday! 4 Editorial
by
sounansya
AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
今から \(k\) 年後 \((k \geq 0)\) に高橋君の年齢が青木君の年齢のちょうど \(Z\) 倍になるとして式を立ててみると、次のようになります。
\[X+k=Z(Y+k)\]
この式を式変形して \(k\) について解くと、以下のようになります。
\[X+k=YZ+Zk\]
\[(Z-1)k=X-YZ\]
\[k=\displaystyle\frac{X-YZ}{Z-1}\]
\(k\) は非負整数という制約があるので、この問題の答えが Yes となることは
- \(X-YZ\) が \(Z-1\) で割り切れる
- \(X-YZ \geq 0\) が成り立つ
の \(2\) つが両方成り立つことと同値です。
この \(2\) つの条件の判定は if 文を用いることで実装することができます。
以上を適切に実装することでこの問題に正答することができます。
x, y, z = map(int, input().split())
if (x - y * z) % (z - 1) == 0 and x - y * z >= 0:
print("Yes")
else:
print("No")
posted:
last update:
