タグ付けされた質問 「roman-numerals」

このタグは、課題がローマ数字を含むことを示しています

7
円形グラフィックスとしての数字
まず、このパズルを学習して、作成するものの感触をつかみます。 あなたの挑戦は、1から100(両端を含む)の間の(10を底とする)数を与えられたパズルからのもののような円形グラフィックを出力するプログラムまたは関数を書くことです。これはこの課題に似ていますが、ローマ数字ではなくグラフィックを作成する点が異なります。次の円は、左から右に番号1〜10を表します。 パズルの答えとして、グラフィックは裏返しのローマ数字のように読む必要があります。線の太さはローマ数字記号を表し、グラフィック全体が数字を表します。参考までに、必要な線の太さは次のとおりです。各行には、その行と次の行の間に3ピクセルのパディングが必要です。 Number Roman Numeral Line Width 1 I 1px 5 V 3px 10 X 5px 50 L 7px 100 C 9px サンプルを1つか2つ投稿してください。入力が正しい、標準の抜け穴などであると仮定します。これはコードゴルフであるため、最も少ないバイトが勝ちます。同点の場合、ほとんどの票が勝ちます。がんばろう!

18
コードのローマ字化
課題は、選択した言語でローマ数字を有効なコードにすることです。 それらは文字列または同様のものの内部に表示されるべきではありませんが、他のトークン、(アラビア語)数字などのリテラル、文字または文字列とまったく同じように機能します。または変数/メソッド/関数識別子など たとえば、Javaでは、次のようiに初期化されたかのようにコンパイルして実行する必要があります42。 int i = XLII; 数字の実際の解析は二次的なものなので、必要に応じてライブラリを使用できますが、これは人気のコンテストなので、創造性が奨励されます。 そのようなことがある場合、実際にローマ数字を使用する言語は使用できません。 がんばろう。

29
それらの貪欲なローマ人!
厳密に正の整数を指定すると、加算ルールのみを使用して、可能な限り短いローマ数字を返します。出力はMDCLXVI、その順序の各文字のゼロ個以上で構成する必要があります。14したがって、番号はXIIIIでなくでなければなりませんXIV。 文字の数値は、M= 1000、D= 500、C= 100、L= 50、X= 10、V= 5、I= 1です。 例 3 → III 4 → IIII 9 → VIIII 42 → XXXXII 796 → DCCLXXXXVI 2017 → MMXVII 16807 → MMMMMMMMMMMMMMMMDCCCVII

21
ローマ数字で1から100までカウントします…
ローマ数字で1から100までカウントするプログラムを作成し、これらの数値を標準出力で出力します。数字はそれぞれスペースで区切る必要があります。 組み込み関数を使用してローマ数字に変換したり、外部アプリケーションやライブラリを変換することはできません。 望ましい結果は I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX XL XLI XLII XLIII XLIV XLV XLVI XLVII …

4
最適な短縮形ローマ数字ジェネレータ
目標: 数値を入力として受け取り、その数値の短縮ローマ数字を出力として返す関数を作成します。 ローマ数字記号: Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1,000 「速記ローマ数字」と言うときの意味の例として、1983年を表すローマ数字を見つけることを考えてみましょう。それは私が生まれた年だからです。1つのオプションは、これを通常の方法(10文字)で行うことです。 1983 = MCMLXXXIII =(1000-100 + 1000 + 50 + 30 + 3) もう1つのオプションは、簡単な方法(6文字)で行うことです。 1983 = MXVIIM =(1000-(10 + 10)+ 1000 + 3) これが何を意味するか知っていますか?!?!! ?? 私がローマ人だったら、生年月日を書くたびに4文字を節約できたでしょう!うおう! しかし、興奮する前に、書くべき質問があります。したがって、おそらく、同じページにいるように、速記のローマ数字のルールを定義する必要があります。 ショートハンドローマ数字ルール: 考慮すべき文字がなくなるまで、シンボルを常に左から右に検討してください。 現在のシンボルの右側に、より高い値のシンボルがない場合: 現在のシンボルの値をこのローマ数字の積算合計に追加します。 …

4
ローマにいるとき、ローマ人のように数えますか?
バックグラウンド この課題は、次の図を公開しているこの Webサイトから着想を得ています。 この図は、250未満のローマ数字の最長表現が188であり、表現するのに9つの数字が必要であることを示しています。 チャレンジ ほとんどのローマ数字を表現するために使用される標準的な記号は以下の通りである:{ I、V、X、L、C、D、M}、文字の数値である場合M= 1000 D= 500 C= 100 L= 50、X= 10、V= 5、I= 1。 この課題の目標は、正の整数nが与えられた場合、n個の標準シンボルを連結して構成できる有効なローマ数字表現の数を計算することです。 次に、プログラムはこの計算の結果を出力する必要があります! 入力:正の整数n。 出力:長さnの有効なローマ数字表現の数。 ローマ数字表現の規則 ローマ数字はもともと「加算」ペアのみでした。つまり、数字は常に降順で書き込まれ、すべての数字の値の合計は数字の値でした。 後に、減算ペアリング、より大きな数字の前に小さな数字を配置して、大きな数字から小さな数字を減算する使用が、ローマ数字の表現を短縮するために一般的になりました。次の無効な式のように、減算ペアは連鎖できませんIXL。 以下は、加算と減算のペアリングに関する現代のルールです。 1つのI、X、およびCのみが減算ペアの一部の先頭の数字として使用できます。 減算ペアのVまたはXの前にのみ配置できます。 Xは、減算ペアのLまたはCの前にのみ配置できます。 Cは、減算ペアのDまたはMの前にのみ配置できます。 減算ペア以外の数字は降順でなければなりません(つまり、各減算ペアの先頭の数字をドロップすると、数字は降順になります)。 M、C、およびXは、より小さい額種で同等または超過することはできません。 D、L、およびVはそれぞれ1回だけ表示できます。 Mのみを4回以上繰り返すことができます。 さらなる注記 バー表記は使用しません。むしろ、Mを追加して任意の数を表現します。 これらは、ローマ数字について従う唯一の規則です。つまり、などの奇数の式IVIもシステムで有効と見なされます。 また、一部の数値には複数の式があるため、長さnの式を持つ数値の数はカウントしないことに注意してください。代わりに、有効な式の数のみをカウントしています。 テストケース 1 → 7 2 → 31 3 → 105 上記を手動で確認したので、テストケースを再確認し、可能であれば追加してください。 受賞基準 これはコードゴルフの挑戦なので、楽しんでください!少なくとも1〜9の入力を処理できるソリューションのみを受け入れます。それ以上はボーナスです! …

7
ルックアンドセイシーケンス:ローマ数字版
チャレンジの説明 Look-and-sayシーケンスに関連するいくつかの課題がありました。クイックリマインダー: シーケンスは、1で始まります このシーケンスの後続の用語は、前の用語の繰り返し数字の各グループを列挙することにより生成されます。 したがって、最初のいくつかの用語は次のとおりです。 1 "one" 11 "one one" (we look at the previous term) 21 "two ones" 1211 "one two, one one" 111221 "one one, one two, two ones" 312211 "three ones, two twos, one one" 今度は同じことをしましょうが、代わりにローマ数字を使用します。最初からI同じルールに従います(代わりに数字カウントルールを文字に適用するためIVX、one one, one five, one ten代わりに、one four, one tenまたは他の方法で読み取ります)。 I "one" II …

15
ローマ数字に一致
チャレンジ 何らかの入力文字列が与えられ、1(= I)から3999(=MMMCMXCIX)のそれ以外の場合は偽値を返します。 詳細 入力は、文字のみで構成される空でない文字列ですIVXLCDM。 ローマ数字(このチャレンジでここで使用する)は、次のように定義されます。 次の記号のみを使用します。 Symbol I V X L C D M Value 1 5 10 50 100 500 1000 文字列が実際に有効なローマ数字であるかを定義するには、それは会話のルールを提供するために、おそらく最も簡単である10進数を書き込むにはa3 a2 a1 a0(それぞれがどこai。一桁を表し例を表すためにそうするために792、我々は持っているa3=0, a2=7, a1=9, a0=2。)ローマ数字として、我々はそれを分解する十の力に。10のべき乗は、次のように記述できます。 1-9: I, II, III, IV, V, VI, VII, VIII, IX 10-90: X, XX, XXX, XL, L, LX, LXX, LXXX, XC …

5
ハードオブジェクトまたはソフトオブジェクトはもっとありますか
What-Ifブックのオープニングに触発されました。 入力は、文字列、文字列のリストなどとしてのスペースの長方形で、#内部にで作成されたオブジェクトがあります。 ######## # # ######## ### #### ### #### ### オブジェクトは常に交差せず、触れない長方形になります。ソフトオブジェクトは#、中央がで埋められておらず、境界のみであるオブジェクトとして定義されます。ハードオブジェクトは、塗りつぶされたオブジェクトです。幅または高さのあるオブジェクト<=2はハードと見なされます。すべてのオブジェクトはハードまたはソフトです。 入力にさらに硬いオブジェクトがある"Hard"場合、output 、より柔らかい場合、output "Soft"、それらが等しい場合、output "Equal"。 これはcode-golfなので、バイト単位の最短コードが勝ちです! テストケース これらのケースは完全な入力ではなく、各オブジェクトを特徴付けるべきものです。実際の入力は、質問の上部にあるascii-artのようになります。 ハード # #### ## ## ########## ########## ########## 柔らかい ### # # ### ################### # # # # # # ################### #### # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

8
ローマ数字計算機を作成する
ローマ数字の基本的な計算機を作成します。 必要条件 サポート+、-、*、/ 入力と出力は、シンボルごとに1つの減算器プレフィックスのみを想定する必要があります(つまり、前にIIV2つあるため、3はできません)IV 10の唯一のパワーは大きな数字から減算されている最小支持現代の標準的な規則、で入力と出力する必要があります。減算原則の取り扱い(例えばI、X、C必要な減算器はありませんですV、L、D)と減算を超える数から実行されることはありません減算器の10倍(IXサポートする必要がありますがIC必須ではありません)。 入力と出力は、値が大きい順に開始します(つまり、19 = XIXnot IXX、10は9より大きい)。 左から右、手の計算機を使用しているかのように、演算子の優先順位はありません。 1〜4999の間の正の整数の入力/出力全体をサポート(V̅は不要) ローマ数字の変換を行うライブラリはありません あなたが決めるために 大文字と小文字の区別 入力にスペースを入れるかスペースを入れない 10進数の出力を取得するとどうなりますか。切り捨て、無回答、エラーなど。 処理できない出力に対して何をすべきか。印刷する負の数または大きい数。 最小要件よりも減算の原則のより自由な使用をサポートするかどうか。 追加クレジット -50-最大99999以上を処理します。シンボルにはビンキュラムを含める必要があります サンプル入出力 XIX + LXXX (19+80) XCIX XCIX + I / L * D + IV (99+1/50*500+4) MIV 最短のコードが優先されます。

9
整数は時間を行き来します
入力: 整数。 出力: 最初に整数を同等のローマ数字に変換します。 次に、そのローマ数字の各大文字をASCII / UNICODE 10進数値に変換します。 そして、それらの合計を出力します。 例: 1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449 ^ input ^ output ローマ数字:これは、おそらく便利なローマ数字コンバータです。 チャレンジルール: 標準のローマ数字の規則が適用されるため、and 。*のような、IIIIまたはVIIII代わりの代替形式はありません。IVIX 1,000を超えるローマ数字の上のマクロン線は¯(UNICODE nr。175)です。したがって、1行は+175としてカウントされ、2 行はとしてカウントされ+350ます。 整数を表す限り、あらゆる種類の入力および出力タイプを使用できます。 テストケースはの範囲にあり1 - 2,147,483,647ます。 *ローマ数字の規則(Wikipediaからの引用): 番号は、シンボルを組み合わせて値を加算することで形成されるためII、2(2つ)とXIII13(10と3つ)になります。各数字は10、100などの倍数を表すのではなく、位置に応じて固定値を持っているため、207や1066のような数字のようにゼロを「配置維持」する必要はありません。それらの数字は、CCVII(200、5、2)とMLXVI(1000、50、10、5、1)と書かれています。 シンボルは、値の大きい順に左から右に配置されます。ただし、いくつかの特定のケースでは、4文字が連続して繰り返されるのを防ぐために(IIIIまたはなどXXXX)、減算表記法が次のように使用されることがよくあります。 I1つ前に配置されるVかX、1つ少ないことを示すため、4つはIV(5つ未満)、9つはIX(1つ未満) X10の前LまたはC10未満を示すため、40はXL(50未満10)、90はXC(100未満10)です。 C前に配置DまたはM400であるので、より少ない百示すCD(数百未満500)と九百であるCM(数百未満千以上) 例えば、MCMIV1904 1904である(M千あるCMれます九百IV四です)。 ローマ数字の近代的な使用のいくつかの例としては、 1954年のようにMCMLIV、1990としてMCMXC; SOURCEとして2014MMXIV 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、コードゴルフ以外の言語で回答を投稿しないようにしないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターを持つ関数/メソッド、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 …

1
暗号化されたローマ数字をアラビア数字に変換します
一連の文字をローマ数字として解釈するアルゴリズムを作成します。(以下のローマ数字の規則を参照) それぞれ異なる文字には、一致するアラビア語の10進数値があり、最大値はありません。しかし、あなたは事前にキーを持っていないので{A=10, I=1, X=5, ... Z=1000000}、あなたの解釈によって決定されます。 チャレンジ 介して読み出し入力STDIN出力経由または同等の書き込みSTDOUTまたは同等 有効な入力は、大文字と小文字の組み合わせ、つまり一致です \[a-zA-Z]+\ 入力を検証して、文字シーケンスが有効なローマ数字として解釈できるかどうかを確認する必要があります 入力が検証に合格した場合、有効な出力はアラビア語の10進数の最低解釈であり、使用されるキーAaはそうでは4 {a=5, A=1} ない と解釈される6 {A=5, a=1} か、または 9 {a=10, a=1} ローマ数字の規則 10のべき乗を表す文字のみを繰り返すことができます。連続して最大3回、合計で4回などです。 II III XXXIX 値が大きい別の文字の後に1つ以上の文字が配置されている場合は、その量を追加します AAaa => 22 {A=10, a=1} (20 + 2 = 22) bbAAaa => 222 {b=100, A=10, a=1} (200 + 20 + 2 = …

3
フィボナッチの六十進法
レオナルドダピサーノ(別名フィボナッチ)は、ヒンドゥーアラビア数字システムをヨーロッパに持ち込むことに貢献しました。その前に、そこの数学者はローマ数字で60を底に働いた。 たとえば、2の平方根は次のように概算できます:60分の1から24の部分、360分の51の部分、およびi xxiv liとして記述されます。スケーリングはコンテキストによって決定されます。当時、「無」は知られていました(つまりゼロ)が、この数体系には標準的な表現がありませんでした。 フィボナッチが旅行中に出会ったこれらの新しい小数の数字を無視していたなら、彼は確かに現在のシステムの欠陥に対処していたでしょう。この改善されたシステムを、フィボナッチの六十進数と呼びます。 あなたの仕事は、ASCII形式またはバイナリ形式の浮動小数点数を取り、60を基数とするローマ数字で出力するプログラム、関数、またはコードスニペットを記述することです。入力はファイル、コンソール、コマンドライン、または関数の引数であり、出力はファイルまたはコンソールのいずれか最も簡単なものです。 出力は大文字でも小文字でもかまいませんが、これらの改善を含める必要があります。 nまたはNを使用して、場所に値がない、つまり「ゼロ」(システムの問題)を意味するnullを示します。 eまたはEを使用して、六十進点に対応するetを示します(システムの別の問題) 中央のドット・またはアスタリスク*を使用して、ローマ数字のグループを区切ります(システムの別の問題) 入力がlix・lix・lix・lix・lix以下の仮数を持つ浮動小数点になると仮定します。n・e・n・n・n・n・i未満の分数は無視できます。したがって、入力にこれらの制限がある場合、1つのeを持つローマ数字のグループを最大10個出力できます。 コンテキストが明確になるように、iより小さい数字には先頭にn・eが必要です。 いくつかの例:input→ 出力 0→ n 1→ i 60→ i・n 0.1→ n・e・vi 3600→ i・n・n 10.5→ x・e・xxx 16777215→ i・xvii・xl・xx・xv 3.1415926536→ iii・e・viii・xxix・xliv・n・xlvii 出力では、仮数部の不要な先行n・、孤立e、または出力の小数部の末尾・nを避ける必要があります。そのため、たとえば、n・n・n・n・i、i・e、およびi・e・n・n・n・n・nは、の入力に対して誤った出力です1。 出力のプラスまたはマイナスn・e・n・n・n・n・iの差は許容範囲内で許容範囲内です。 入力は、選択した言語の正当な浮動小数点であるため、入力が上記で指定した範囲外にない限り、正または負の指数を含めることができます。 そして最後に、ローマ数字の組み込みが許可されています!

8
ローマ数字に変換!
あなたの仕事は、与えられた正の整数をアラビア数字からローマ数字に変換することです。 4000を数えると事態は難しくなります。 ローマ人は、シンボルの上に線を追加して、そのシンボルをで乗算することでこれを行いました1 000。ただし、上線はASCIIでは正確に表示できません。また、シンボルを乗算する二重上線があり1 000 000、次にシンボルを乗算する三重上線1 000 000 000などがあります... そのため、括弧を使用して上線を置き換えることにしました。 シンボルは括弧内に個別に配置できます。たとえば、(VI)と(V)(I)は両方ともの有効な表現です6 000。(V)M6000の有効な表現でもあります。 (I)はを表す有効な方法です1 000。 テストケース Input: 1 Output: I Input: 2 Output: II Input: 3 Output: III Input: 4 Output: IV Input: 15 Output: XV Input: 40 Output: XL Input: 60 Output: LX Input: 67 Output: LXVII Input: 400 Output: …

2
ローマ数字変換機能
ローマ数字の文字列を整数に変換する最短の関数を作成します。 各手紙の規則は、ウィキペディアのページで見つけることができます。1,000を超える文字には、高い値を示すために括弧が配置されます。 要件: ローマ数字1から500,000に変換する必要があります 1分以内に完了する必要があります 利点をもたらす可能性のある組み込み関数を使用しません(例:ローマ数字を整数に変換する関数) 関数です 関数は分数をサポートする必要はありません。無効な入力は、0を返します。 最短の機能が優先されます。同点の場合、最も投票数の多いものが勝者となります。 テストケース 入力 III 出力 3 入力 IIII 出力 0 入力 XVI 出力 16 入力 (C)(D)(L)MMI 出力 452001

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.