[規格]1476-計算日(Python)
5781 ワード
質問する
https://www.acmicpc.net/problem/1476
問題の説明
変数E,S,Mの範囲はそれぞれ異なるので,各変数の周期に集中して法則を見つけようとする.
いくつかの例を見てみましょう.
(E, S, M)
= (15, 2, 11) -> 30 = (E)15+15 = (S)28+2 = (M)19+11
= (12, 1, 19) -> 57 = (E)15+15+15+12 = (S)28+28+1 = (M)19+19+19
太字を読むことに集中すれば、法則が見つかるはずだ.
どうしても表現しなければならないなら、次のように表現できるようです.
# e, s, m은 정수
(15*e)+E = (28*s)+S = (19*m)+M
コミットコード
E, S, M = map(int, input().split())
year = 1
while True:
if ((year-E) % 15 == 0) and ((year-S) % 28 == 0) and ((year-M) % 19 == 0):
break
year += 1
print(year)
結果
整理する
コンセプト
+)brute:無知、force:力「無知の力」アルゴリズム.
コメント付きコード
# E: 1-15 / S: 1-28 / M: 1-19
# 입력받기
E, S, M = map(int, input().split())
year = 1
while True:
if ((year-E) % 15 == 0) and ((year-S) % 28 == 0) and ((year-M) % 19 == 0):
break
# if 문에 해당하지 않을 때는 year에 1을 더해준다
year += 1
# 결과값 출력
print(year)
に感銘を与える
ルールを見つけましたが、コードにする過程でブロックされました.想像以上に簡単にコードが書けることを知り、不思議に思った.ほほほ
Reference
この問題について([規格]1476-計算日(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@alsdud5766/백준-1476-날짜-계산-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol