[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であり,他のプールと比較して適切なサイズが決定された.