[BOJ]1436号映画監督
📒 質問する
666は末日を表す数字だそうです.そのため、多くの大きな映画では666のタイトルが使用されています.映画監督郅は世界最後のシリーズ映画の監督である.ジョージ・ルーカスはスターウォーズを制作する際、『スターウォーズ1』『スターウォーズ2』『スターウォーズ3』『スターウォーズ4』『スターウォーズ5』『スターウォーズ6』と同様に命名され、ピーター・ジャクソンは『指輪王』を制作する際、『指輪王1』『指輪王2』『指輪王3』と同様に映画と命名された.
しかし、ジョージ・ルーカスとピーター・ジャクソンを超えたことを証明するために、ジョーは映画の名前を違うものに変えることにした.
末日数字とは、ある数字のうち少なくとも6つが連続して3つ以上の数字であることを意味する.最小の末日数字は666で、次いで1666266663666です.に等しい
そのため、ʤは第1部映画の名前を世界末日666、第2部映画の名前を世界末日1666と命名した.一般的に、N本目の映画のタイトルは世界の終わり(N番目の小さな終わりの数字)に等しい.
プログラムを作成して、N本目の映画タイトルの数字を印刷してください.ʤはいつもこのシリーズを順番に作って、他の映画を作らない.
入力
最初の行には、数字Nが与えられる.Nは10000以下の自然数である.
しゅつりょく
第1行目には、第N本目の映画タイトルの数字が出力される.
▼▼▼▼▼▼▼
最初の質問は1666663666でなければなりません順番に666を追加すればいいと思います.
だからこんなコードを書いたの?これは問題ですか.と思った.
n = int(input())
print((n-1)*1000+666)
やっぱりありえない...もう一度問題をよく読むことに気づいた.
5666以降は66606661666266697666という順番で歩くのを忘れないでください.
だから次の接着剤を作りました.
n = int(input())
number = 666
while True:
if '666' in str(number):
n -= 1
if n == 0:
break
number += 1
print(number)
666という数字が数字内にあれば、順番検出方式を利用しています.brootforceはすべての組み合わせ可能な文字列を1つずつ代入する方法で、考えるとかなりbrootforce(?)よさそうですね.
メモリは29200 kb,時間は844 msであり,他のプールと比較して適切なサイズが決定された.
Reference
この問題について([BOJ]1436号映画監督), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonkeem/BOJ-1436번-영화감독-숌-파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol