Problem 89
の編集
http://odz.sakura.ne.jp/projecteuler/index.php?Problem+89
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
*[[Problem 89:http://projecteuler.net/problem=89]] 「ローマ数字」 [#u0c86b93] ローマ数字の記法は一つの数について沢山ある場合が存在する (FAQを見よ). しかし, ある数については''最良の''記法が必ず存在する. 例えば, 16の正しい記法を全て並べてみる. > IIIIIIIIIIIIIIII~ VIIIIIIIIIII~ VVIIIIII~ XIIIIII~ VVVI~ XVI 最後の例は, 最小の文字数で表せるという意味で, 最も効率が良い. 11Kのテキストファイル&ref(https://projecteuler.net/project/resources/p089_roman.txt); は1000個のローマ記法で書かれた数を含んでいる. これらは, 正しい記法に従っている. 即ち, 大きい数から順に書かれていて, 引き算ペアのルールにも従っている(このルールについてはFAQを見よ) 但し, 最小の文字数で表されているとは限らない. 最小形で書いたときに, 何文字節約できるかを求めよ. 注: ファイル中の全てのローマ数字には, 5つ以上の同じ文字が連続して含まれることはない. ---- **FAQ: ローマ数字のルール [#n7499c3e] (訳者:概略のみ与える) |I|V|X|L|C|D|M| |1|5|10|50|100|500|1000| ***基本法則1 [#m18d5e22] 全ての文字はサイズの降順に並ぶ ***基本法則2 [#zd57009e] 引き算ペアについて. X (10) + IX (9) として19=XIXと表せる. ただし, 8をIIXと二文字以上を引くことは許されない. +I, X, Cのみが引き算ペアの最初の文字として許される. +IはVまたはXの前に来ることが許される +XはLまたはCの前に来ることが許される +CはDまたはMの前に来ることが許される
タイムスタンプを変更しない
*[[Problem 89:http://projecteuler.net/problem=89]] 「ローマ数字」 [#u0c86b93] ローマ数字の記法は一つの数について沢山ある場合が存在する (FAQを見よ). しかし, ある数については''最良の''記法が必ず存在する. 例えば, 16の正しい記法を全て並べてみる. > IIIIIIIIIIIIIIII~ VIIIIIIIIIII~ VVIIIIII~ XIIIIII~ VVVI~ XVI 最後の例は, 最小の文字数で表せるという意味で, 最も効率が良い. 11Kのテキストファイル&ref(https://projecteuler.net/project/resources/p089_roman.txt); は1000個のローマ記法で書かれた数を含んでいる. これらは, 正しい記法に従っている. 即ち, 大きい数から順に書かれていて, 引き算ペアのルールにも従っている(このルールについてはFAQを見よ) 但し, 最小の文字数で表されているとは限らない. 最小形で書いたときに, 何文字節約できるかを求めよ. 注: ファイル中の全てのローマ数字には, 5つ以上の同じ文字が連続して含まれることはない. ---- **FAQ: ローマ数字のルール [#n7499c3e] (訳者:概略のみ与える) |I|V|X|L|C|D|M| |1|5|10|50|100|500|1000| ***基本法則1 [#m18d5e22] 全ての文字はサイズの降順に並ぶ ***基本法則2 [#zd57009e] 引き算ペアについて. X (10) + IX (9) として19=XIXと表せる. ただし, 8をIIXと二文字以上を引くことは許されない. +I, X, Cのみが引き算ペアの最初の文字として許される. +IはVまたはXの前に来ることが許される +XはLまたはCの前に来ることが許される +CはDまたはMの前に来ることが許される
テキスト整形のルールを表示する