タグ付けされた質問 「rational-numbers」

この課題には、有理数、つまり整数の分数として表現できるものの操作が含まれます。有理数が許容されるいくつかの入出力形式の1つにすぎない場合は、このタグを使用しないでください。正確な有理演算を使用する必要がある場合は、このタグを使用してください。

5
バイナリ畳み込み
バイナリ畳み込みは数値Mで記述され、数値に適用されNます。のバイナリ表現の各ビットについてM、ビットが設定されている場合(1)、出力の対応するビットは、対応するビットに隣接する2ビットをXORすることで与えられますN(必要に応じて折り返します)。ビットが設定されていない場合(0)、出力の対応するビットはの対応するビットによって与えられNます。 実用的な例(8ビット値): ましょうN = 150、M = 59。それらのバイナリ表現は(それぞれ)10010110と00111011です。 Mのバイナリ表現に基づいて、ビット0、1、3、4、および5が畳み込まれます。 ビット0の結果は、ビット1と7をXORすることで得られ1ます(折り返すため)。 ビット1の結果は、ビット0と2のXOR演算によって得られ0ます。 ビット2の結果は、元のビット2で与えられ、を生成し1ます。 ビット3の結果は、ビット2と4のXORによって得られ0ます。 ビット4の結果は、ビット3と5のXOR演算によって得られ0ます。 ビット5の結果は、ビット4と6のXORによって得られ1ます。 ビット6と7の結果は、元のビット6と7で与えられ、とを生成0し1ます。 したがって、出力は10100110(166)です。 チャレンジ とが与えられたときN、on Mによって記述されたバイナリ畳み込みを実行した結果を出力しMますN。入力および出力は、便利で一貫性があり、明確な形式である場合があります。Nそして、M常に(包括的)範囲[0, 255](8ビット符号なし整数)にあり、バイナリ畳み込みを実行するために、バイナリ表現を8ビットにパディングする必要があります。 テストケース 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

30
ゼロに向かって丸める
これは簡単なタスクです。正または負の実数を指定して、ゼロに近い次の整数に丸めます。 チャレンジ 1つの正または負の実数の合理的な形式(stdin、関数など)で入力を行います。 この数値を「ゼロに向かって」丸めます-これが正の場合は切り捨て、負の場合は切り上げます。 番号を返すか、コンソールに出力します。 テストケース 1.1 => 1 -1.1 => -1 500.4 => 500 -283.5 => -283 50 => 50 -50 => -50 ルール これはcode-golfなので、バイト単位の最小スコアが勝ちます。 標準的な抜け穴に注意してください。 楽しんで! より多くのジミーの課題が近日公開予定

9
正の合理的要素に番号を付ける
正の有理数は、次のプロセスで数えることができます。 ゼロの序数は0です 行a、列bにa / bが含まれるように、他の数値をグリッドに配置します 斜めのジグザグを右上から左下にプロットします ジグザグに沿って発生した一意の数字の集計を実行してください ジグザグの写真は次のとおりです。 したがって、発生した番号は、順番に 1/1, 2/1, 1/2, 1/3, 2/2, 3/1, 4/1, 3/2, 2/3, 1/4, 1/5, 2/4, 3/3, 4/2, 5/1, 6/1, 5/2, 4/3, 3/4, 2/5, 1/6, 1/7, 2/6, 3/5, 4/4, 5/3 ... そして、遭遇する単純化された一意の数字は 1, 2, 1/2, 1/3, 3, 4, 3/2, 2/3, 1/4, 1/5, 5, 6, 5/2, …

25
分数を追加する
入力と同じ長さの2つの空でないリストを取り、次のことを行うプログラムまたは関数を作成します。 最初のリストの要素を使用して分子を取得し、 2番目のリストの要素を使用して分母を取得し、 (2/4=>1/2)「+」で区切られた、簡略化後の結果の小数部を表示します。 最後の小数部の後に「=」と加算結果を表示します。 例: 入力 [1, 2, 3, 3, 6] [2, 9, 3, 2, 4] 出力 1/2+2/9+1+3/2+3/2=85/18 ルールについて リストの要素は正の整数になり、 要素はスペースで区切ることができます。たとえば:1/2 + 2/9 + 1 + 3/2 + 3/2 = 85/18is ok、 末尾の改行は許可されますが、 リストは、上記以外の形式で取得することもできます(例:(1 2 3 3 6)または{1;2;3;3;6}など)。 1表すことができ1/1、 印刷する代わりに、適切な文字列を返すことができます。 間違った入力を処理する必要はありません。 最短コードが勝ちます。

6
制御不能の丸めエラー
バックグラウンド 最近、小さな会計事務所に雇われました。会計の世界はあなたにとっていくぶん外国のものなので、あなたがすべての専門家のガイドラインに従っているかどうかはわかりません。特に、これらすべての数値をいつ、どの方向に丸めるべきかわからないので、ほとんどの場合、あなたはそれを翼に乗せて最善を望みます。 入力 入力は、単純な計算を表す単一の文字列です。文字で区切られたいくつかの非負の整数が含まれています+-*/。文字列は左から右に読み取られ、通常の優先順位規則は無視されるため、"23+1*3/4"「23で始まり、1を加算し、3を乗算し、4で除算する」ことを意味します。結果は18になります。0(0それ自体を除く)、またはゼロによる除算。 出力 計算の各段階で、結果を最も近い整数に切り上げまたは切り捨てるか、そのままにしておくことができます。最後に、整数の結果を得るために切り上げまたは切り捨てます。あなたの出力は、そのような計算から生じる可能性のある整数のリストであり、ソートされ、重複はありません。 ルール 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース "42" -> [42] "2+0+4-0" -> [6] "23+1*3/4" -> [18] "5/2" -> [2,3] "5/2+7/3*6-1" -> [17,18,19,23] "23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4] "1/3*2*2*2*2*2*2" -> [0,16,20,21,22,24,32,64] "1/3*9" -> [0,3,9]

6
ライリーの定理
S.ライリーは1825年に定理に従って証明しました。 すべての有理数は、3つの有理立方体の合計として表すことができます。 チャレンジ いくつかの有理数を考えるとr∈Qr∈Qr \in \mathbb Q 3つの有理数見つけ、B 、C ∈ Qは、そのようなことを、R = A 3 + B 3 + C 3。a,b,c∈Qa,b,c∈Qa,b,c \in \mathbb Qr=a3+b3+c3.r=a3+b3+c3.r= a^3+b^3+c^3. 詳細 提出は、十分な時間とメモリが与えられたすべての入力に対してソリューションを計算できる必要があります。つまり、たとえば、2つの32ビットintが分数を表すだけでは不十分です。 例 305230717280142=39829338766813−6366005495153−39775055545463=607029013173+239612924543−619227128653=(12)3+(13)3+(14)3=03+03+03=(12)3+(23)3+(56)3=(1810423509232)3+(−1495210609)3+(−25454944)330=39829338766813−6366005495153−3977505554546352=607029013173+239612924543−6192271286533071728=(12)3+(13)3+(14)30=03+03+031=(12)3+(23)3+(56)342=(1810423509232)3+(−1495210609)3+(−25454944)3 \begin{align} 30 &= 3982933876681^3 - 636600549515^3 - 3977505554546^3 \\ 52 &= 60702901317^3 + 23961292454^3 - 61922712865^3 \\ \frac{307}{1728} &= \left(\frac12\right)^3 + \left(\frac13\right)^3 …

30
プライムパワーからプライムを回復する
定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、プライムpを返します。 テストケース: input output 9 3 16 2 343 7 2687 2687 59049 3 得点:これはcode-golfです。バイト単位の最短回答が優先されます。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

13
中間の分数
中間の分数 チャレンジ: 少なくとも3つの入力を受け取るコードを作成する必要があります。2つの整数と「分数表現」-分数の増分を表す言語に適したタイプ)。文字列を選択した場合、入力は「1/4」になるか、2つの追加整数入力またはタプルまたはw / eを選択できます。 入力はどこでも合理的(STDIN、関数の引数、ファイルからなど)である可能性があり、出力(STDOUT、関数の戻り値、ファイルへなど)も可能です ルール: 入力「分数」は常に1未満の有効な分数です。例「1/4」 2番目の入力整数は、常に最初の整数よりも高い値になります。つまり、最初の入力整数は常に2番目の入力整数よりも低い値になります。 入力整数は負の値にすることができます。 出力される端数は可能な限り減らす必要があります(簡略化) コードは、入力分数の増分で2つの数値の間のすべての「分数ステップ」を出力する必要があります。 コードは、ここに記載されているプログラムまたは関数でなければなりません 例1: 入力: -2,3,"1/2" 出力: -2 -3/2 -1 -1/2 0 1/2 1 3/2 2 5/2 3 例2: 入力: 1,2,"2/3" 出力: 1 5/3 2 または 1 4/3 2 注:カウントはどちらの方向からでも開始できます(@Megoに感謝) これはcode-golfであるため、バイト単位の最短回答が優先されます。

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

1
XKCDブラケット確率
今日のXKCDはスポーツトーナメントスタイルのブラケットであり、競技者はよく知られた名前であり、混乱を招く可能性のある名前のグループに入れられます。 与えられたラウンドの各競技者がそのラウンドに勝つ可能性が等しいことに基づいて、与えられた競技者がトーナメント全体に勝つ確率を与えます。 入力 出場者の名前。 XKCDはすべて大文字を使用するのが好きですが、大文字と小文字を区別せずに使用することも、入力大文字と小文字を区別しないこともできます。 すべての入力名が有効であると想定できます。 Jeff GordanはおそらくスペルミスですJeff Gordon。これらのいずれかまたは両方を受け入れることを選択できます。 いくつかの名前は句読点、例えば含めるH. G. WellsとをJoseph Gordon-Levitt。句読点の有無にかかわらず(またはその両方)、名前を受け入れることを選択できます。句読点なし上記のようになりますH G Wellsし、Joseph Gordon Levitt 同様に、どちらかBeyoncé、Beyonceまたは両方を受け入れることを選択できます Mister/Fred Astaire/Rogersラインが少し奇妙です。この1については、次のすべてを受け入れる必要がありますFred Rogers、Mister RogersとFred Astaire 出力 与えられた競技者がトーナメント全体に勝つ確率(合理的な形式)(例1/64) 例 ルイアームストロングは、6ラウンドでそれぞれ2人の競技者と対戦する可能性があるため、1/64の勝率があります。 アランリックマンは潜在的に7ラウンドでプレイする可能性があります。1回目は3人の競技者で、残りは2人の競技者であるため、1/192の確率で勝ちます。 画像からすべての名前を入力する手間を省くために、explainXKCDはすでにそれらを表にしています。また、それらをこのペーストビンにダンプしました。 ExplainXKCDでの勝ちの確率は間違っていることに注意してください-おそらく最終ラウンドを忘れているため、本来の2倍の大きさです。@Geobitsを指摘してくれてありがとう。

3
コンピューター:あなたは数学をする
この課題は、一部はアルゴリズムの課題であり、いくつかの数学が関与し、一部は単に最速のコードの課題です。 何らかの正の整数のために、長さのsとs のn一様にランダムなストリングを考えて、それを呼び出してください。また、値がまたはである2番目の一様に選ばれた長さのランダムストリングを考えて、それを呼び出してください。今聞かせても+ 。それはそれ自体に連結されます。10nAn-10,1B_preBB_preB_preB_pre 今の内積を考えるAとB[j,...,j+n-1]、それを呼び出すZ_jから、インデックスを1。 仕事 出力は、n+1分数のリストである必要があります。i出力のth番目の項は、すべての最初の項が等しいという正確な確率でなければなりません。iZ_jj <= i0 スコア n私のマシンでは、コードが10分以内に正しい出力を提供する最大のもの。 タイ・ブレーカー 2つの回答のスコアが同じ場合、最初に提出された方が勝ちです。 誰かが無制限のスコアを取得する方法を見つけるという(非常に)まれなイベントでは、そのようなソリューションの最初の有効な証拠が受け入れられます。 ヒント この問題を数学的に解決しようとしないでください。難しすぎます。私の考えでは、高校からの確率の基本的な定義に戻って、可能性を徹底的に列挙するコードを取得するスマートな方法を見つけることが最善の方法です。 言語とライブラリ 自由に利用できるコンパイラ/インタープリター/などを備えた任意の言語を使用できます。LinuxおよびLinuxでも自由に利用できるライブラリ用。 私のマシン タイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。 いくつかのテスト出力。それぞれの最初の出力だけを考えてくださいn。そのときi=1です。以下のためにn1から13まで、彼らはする必要があります。 1: 4/6 2: 18/36 3: 88/216 4: 454/1296 5: 2424/7776 6: 13236/46656 7: 73392/279936 8: 411462/1679616 9: 2325976/10077696 10: 13233628/60466176 11: 75682512/362797056 12: 434662684/2176782336 13: 2505229744/13060694016 あなたはまたのための一般的な式を見つけることができるi=1でhttp://oeis.org/A081671。 …

6
すべての有理数のリストを出力します
数学のすべてのうち、常識を超えるいくつかの定理が常にあります。これらの1つは、さまざまなサイズの無限大があるという事実です。別の興味深い事実は、サイズが異なると思われる多くの無限大が実際には同じサイズであるという考えです。有理数と同様に、整数と同数の偶数があります。 この質問の一般的な概念は、無限という奇妙な現実に立ち向かうことです。このチャレンジでは、プログラムは以下を行うリストを出力します。 特定の時点で、常に整数のエントリがあります 最終的に、リスト全体に特定の(ゼロ以外の)有理数を正確に1回(十分に長く実行するために残した場合) 制限のない数の空のスロットが含まれている(リスト上のエントリが不必要に0に設定されている) 空きスロットの割合が100%の制限に近づいている すべての正の整数Nに対して、N個の連続した空のスロットを持つ無限の場所があります チャレンジ あなたの課題は、次のルールを備えた特別なリストを出力する、可能な限り短いプログラムを書くことです。 インデックスが平方数ではないすべてのエントリはゼロに設定する必要があります。したがって、最初のエントリはゼロ以外、2番目と3番目はゼロ、4番目はゼロ以外などになります。 すべての有理数は、単純化された不適切な分数の形式(4/5や144/13など)になります。例外はゼロです0。これは単にです。 プログラムが十分に長く、十分なメモリで実行される場合、最終的にすべての(正および負の)有理数がリストに表示されます。特定の有理数の場合、必要な時間は任意の長さですが、常に有限の時間です。 無限の時間実行した場合、ゼロ以外の有理数が2回現れることはありません。 ルール3では、さまざまな法的出力が無限に存在するため、ある程度のバリエーションが認められています。 出力は行のストリームになります。各行5: 2/3は、最初の番号がエントリ番号であり、その後に有理数が続く一般的な形式になります。1: 0常に出力の最初の行になることに注意してください。 出力のスニペットの例: 1: 1/1 2: 0 3: 0 4: 2/1 5: 0 6: 0 7: 0 8: 0 9: -2/1 10: 0 etc... 規則、規制、および注記 これはコードゴルフです。標準コードのゴルフ規則が適用されます。また、出力で許可されるバリエーションのため、少なくともリストにすべての可能な有理数が1回だけ含まれていると信じる理由と、解が正しいことを示す必要があります。 編集:素数は挑戦から気をそらしたので、私はそれを二乗数に変更しています。これは同じ目的を達成し、ソリューションを短縮します。

4
端数を削減しない方法
分数を間違った方法で減らす このコードとゴルフのチャレンジでは、間違った方法で減らすことはできますが、それでも同じ数になる分数を見つける必要があります。 注:ここで間違った方法で分数を減らすことには正確な定義があります。詳細を参照してください。 例: 64/16 = 6 4/1 6 = 4/1 = 4 もちろん、両方の6esを打つことはできませんが、ここでも正しい値になります。この課題では、このような例を見つける必要があります。 詳細 n入力として1つの正の整数を受け入れ、形式で分数のリスト/配列を出力/返す関数/プログラムを作成する必要があります numerator1,denominator1,numerator2,denominator2,... プログラムは、各分画のために見つけるために持っているa/bとa+b=nし、a,b>0それを軽減することができるかどうか間違った方法を。(従来の方法で削減できるかどうか、または削減の多くの可能性があるかどうかは関係ありませんが、少なくとも1つの方法で間違った方法で削減できればよいだけです。) 定義 間違った方法は:割合を低減することができる間違った方法を場合にのみ、およびbで連続した数字が現れるのと同じ順序とあなたが部分文字列を削除する場合分数滞在の値が同じであれば。 例:1536/353を16/3に「減らす」ことができますが、これらの2つの値は等しくないため、この割合を間違って減らすことはできません。 間違った方法を減らすというこの定義には、正しい方法で減る分数も含めることができることに注意してください。これは、有効なステップであっても間違った方法110/10 = 11/1を減らすという定義の範囲内です。 得点 最小バイト数が優先されます。整数を受け入れ、stdin / stdoutを使用する配列またはプログラムを返す関数またはプログラムを作成するか、変数にnを保存し、プログラムの最後にリストを他の変数に保存する必要があると考えることができます。 テストケース 次のテストケースを含めてください(追加するテストケースを教えてください。それらのフラクションの数/予想される例の数はわかりません) n=80 (64/16 should be in this list) n=147 (98/49 should be in this list) n=500 (294/196 should be in this …

5
多項式補間
真の任意精度の有理数を使用して多項式補間を実行するプログラムを作成します。入力は次のようになります。 f(1)= 2/3 f(2)= 4/5 f(3)= 6/7 ... =符号の前後に空白が1つだけあると仮定することができます。すべての数値は小数または整数です。また、入力のすべての端数はすでに既約であると仮定することもできます。 入力が有効であり、f(x)でxが2倍になっていると仮定しても、エラーチェックは必要ありません。 出力はLaTeXと互換性のある形式である必要があり、出力されたLaTeXコードはここで与えられた出力と同じグラフィック表現を生成する必要があります。 f(x)= 123x ^ 2 + \ frac {45} {2} x + \ frac {7} {4} 端数は可能な限り減らす必要があります。のようなもの\frac{2}{4} は許可されていません。数値が整数の場合、分数を使用しないでください。 特別なルール: あなたのプログラムは... 12次までの多項式で機能する 合理的な入力のために1分未満で完了 計算全体を行う関数を使用しないでください 最小次数の多項式を出力します テストケース: 指定されたテストケースは、説明のためだけのものです。プログラムは、すべての正しい入力に対して正しい結果をもたらすはずです。 入力 f(1)= 2/3 f(2)= 4/5 f(3)= 6/7 出力 f(x)=-\ frac {4} {105} x ^ …

15
繰り返される相互
あなたがする必要があるのは、入力として小数を取り、数が整数になるまで、小数部分の逆数を繰り返し取った結果を出力する関数/プログラムを作成することです。 より具体的には、プロセスは次のとおりです。 xを入力とします xが整数の場合、それを出力します。 そうでない場合:。2に戻ります。x←1frac(x)バツ←1frac(バツ)x \leftarrow \frac{1}{\mathrm{frac}(x)} frac(x)frac(バツ)\mathrm{frac}(x)はの小数成分であり、等しくなります。最大整数未満であるXのある床、。xバツxx−⌊x⌋バツ−⌊バツ⌋x - \left\lfloor x \right\rfloor⌊x⌋⌊バツ⌋\left\lfloor x \right\rfloorxバツx テストケース: 0 = 0 0.1 = 1/10 -> 10 0.2 = 1/5 -> 5 0.3 = 3/10 -> 10/3 -> 1/3 -> 3 0.4 = 2/5 -> 5/2 -> 1/2 -> 2 0.5 = 1/2 -> …

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