タグ付けされた質問 「number」

この課題は、数値を使用、操作、入力として受け入れる、または数値を出力することによって解決することを目的としています。

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

2
競馬の一日
バックグラウンド 90年代後半/最初の00年代には、Flash Webデザインが非常にクールで、完全なFlash Webサイト、または少なくともアニメーションウィジェットがないと生きていけなかったため、Flash / Actionscriptで「競馬ビューア」を開発するために雇われました。 80年代のビデオゲームスタイルのアニメーションの形をしているため、サイトの訪問者はレース結果を読むだけでなく、動くアニメーションでそれを見ることができました。うわー!印象的! 彼らは私にすべてのレースの詳細を含むCSVファイルを提供しました:開始と到着の順番、馬の名前、ドライバーの名前、賞品など。私のフラッシュアプ​​リは各レースでそのファイルを読み取り、上記のアニメーションを表示しました。 現在、Flashのサポートは大幅に減少しているため、ascii-artに戻す必要があります。 仕事 あなたの仕事は、以下の例に示すように、標準入力からレースデータをCSV形式で読み取り、レースのASCIIアート表現を出力する完全なプログラムまたは関数を作成することです。 入力 2つのフィールドを持つCSVデータ:1)開始順序。2)フィニッシュでの到着時刻1.13.4(1分、13秒、1/10秒)。時間の報告Rが、事故、転落、またはその他の理由により、馬が後退した(レースを終了しなかった)ことを意味する場合。注:到着時刻は2頭以上の馬で同じである場合があります。この場合、それらは到着位置を共有しています。 1,1.13.4 2,1.13.0 3,R 4,1.12.7 5,1.11.5 6,1.13.4 7,1.12.1 8,1.17.9 出力 CSV行ごとに、次のような競馬場を出力します。 1_|______________4(1.13.0)___________________________ 競馬場は以下によって構成されます: 1 馬のスタート順です。 _|どこ_スペーサーで、|フィニッシュラインです。 50の_10分の1秒を表す50 x 。 5(1.13.4)つまり、到着位置とそれに続く到着時刻です。これは、馬間の時間差を考慮して配置する必要があります。たとえば、最初に到着したフィニッシュラインに最初に到着した位置、1.11.52番目に到着した時間1.12.1、時間の差は1.12.1 - 1.11.5 = 610分の1秒なので、2番目の馬は6番目のキャラクタに位置するというようになります。時間差が10分の1秒(または5秒)を超える場合は、馬を最後に配置する必要があります。馬がR(退却)の場合も同様です。 したがって、上記のCSVデータの競馬場全体は次のようになります。 F=Finish line 1_|____________________________5(1.13.4)_____________ 2_|______________4(1.13.0)___________________________ 3_|__________________________________________________R 4_|___________3(1.12.7)______________________________ 5_1(1.11.5)__________________________________________ 6_|____________________________5(1.13.4)_____________ 7_|_____2(1.12.1)____________________________________ 8_|__________________________________________________6(1.17.9) 012345678901234567890123456789012345678901234567890 を追加する必要はなくF=Finish line、最後の行0123456789...は目的を説明するためだけのものです。 …

9
スーパーフォールディングナンバー
ここではすでに折りたたみ数を定義しています。 しかし、これからスーパーフォールディングナンバーを定義します。スーパーフォールディング数は、十分に折り畳まれると、最終的には2の累乗よりも1少ない数になります。フォールディングの方法は、フォールディング数の質問とは少し異なります。 フォールディングアルゴリズムは次のようになります。 バイナリ表現を取る 例:5882 1011011111010 3つのパーティションにそれをこぼした。前半、後半、中桁(奇数桁の場合) 101101 1 111010 中央の数字がゼロの場合、この数値は折りたたむことができません 後半を逆にして前半に重ね合わせる 010111 101101 桁を追加します 111212 結果に2がある場合、数値は折りたたむことができません。それ以外の場合、新しい数値は折りたたみアルゴリズムの結果です。 連続した1つの文字列に折りたたむことができる場合、その番号はスーパーフォールディング番号です。(すべての折りたたみ番号もスーパー折りたたみ番号です) あなたの仕事は、数値を取り込んで、その数値がスーパーフォールディング数であれば真の値を出力し、そうでなければ偽のコードを書くことです。プログラムの規模で採点されます。 例 5200 バイナリに変換: 1010001010000 半分に分割: 101000 1 010000 真ん中は1つなので、続けて半分を重ね合わせます。 000010 101000 それらを追加しました: 101010 2はないので、半分に分割し続けます。 101 010 折りたたみ: 010 101 111 結果は111(10進数で7)なので、これはスーパーフォールディング番号です。 テストケース 最初の100個のスーパーフォールディング番号は次のとおりです。 [1, 2, 3, 6, 7, 8, 10, 12, …

7
ヤコビ行列を作成する
未知数のベクトルを取り、いくつかの一般的な微分可能関数を適用します。ヤコビアンは、次いで行列によって与えられるように。 たとえば、と仮定m=3しn=2ます。次に(0ベースのインデックスを使用) のヤコビアンfは この課題の目標は、このヤコビ行列を出力することです。 入力 プログラム/関数は、2つの正の整数mとを入力として受け取る必要nがfありuます。これらはそれぞれとのコンポーネントの数を表します。入力は、任意のソース(stdio、関数パラメーターなど)から取得できます。あなたはこれらが受け取られる順序を指示することができ、これはあなたの答えへのどんな入力でも一貫していなければなりません(あなたの答えで指定してください)。 出力 ヤコビ行列を表すもの。この表現は、ヤコビ行列のすべての要素を明示的に記述する必要がありますが、各項の正確な形式は、何が区別され、何が明確であり、すべてのエントリが論理的な順序で出力される限り、実装で定義されます。マトリックスを表すための受け入れ可能なフォームの例: 外部リストの各エントリがヤコビアンの行に対応し、内部リストの各エントリがヤコビアンの列に対応するリストのリスト。 各行がヤコビアンの行であり、行の各区切り文字で区切られたエントリがヤコビアンの列に対応する文字列またはテキスト出力。 マトリックスのグラフィック/ビジュアル表現。例:MatrixFormコマンドを使用したときにMathematicaによって表示されるもの 他のいくつかの密行列オブジェクト。すべてのエントリは既にメモリに格納されており、クエリできます(つまり、ジェネレータオブジェクトを使用できません)。例としては、Mathematicaが内部的にMatrixオブジェクトをどのように表すかが挙げられます エントリ形式の例: 形式の文字列。d f_i/d u_jここでi、およびjは整数です。例:d f_1/d u_2。dとf_1またx_2はの間のこれらのスペースはオプションであることに注意してください。また、アンダースコアもオプションです。 d f_i(u_1,...,u_n)/d u_jまたはの形式の文字列d f_i(u)/d u_j。つまり、関数コンポーネントの入力パラメーターf_iはオプションであり、明示的に指定するか、コンパクトな形式で残すことができます。 フォーマットされたグラフィック出力。例:式を評価したときにMathematicaが出力するものD[f_1[u_,u_2,...,u_n],u_1] 開始インデックスとその目的uを選択できますf(回答で指定してください)。出力は、必要なシンク(stdio、戻り値、出力パラメーターなど)への出力です。 テストケース 次のテストケースでは、この規則を使用していm,nます。インデックスは0ベースで表示されます。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

7
正方形の正方形
正の整数の入力を前提としてn、次のプロセスを完了するプログラムを記述します。 それよりも大きい最小の正の整数を見つけます。nこれは完全な二乗であり、nとその他の数を連結したものです。の桁順はn変更できません。n完全な正方形を生成するために連結された数はと呼ばれるかもしれませんr_1。 r_1が完全な正方形でない場合はr_1、プロセスへの新しい入力として上記のプロセスを繰り返します。r_kと表示される完全な正方形になるまで繰り返しsます。 の値を出力しsqrt(s)ます。 入力は任意の形式で取得できます。これnは正の整数であると想定できます。いずれかr_kに先行ゼロ(およびr_k≠0)がある場合、そのゼロは無視できます。 テストケース ここにいくつかのテストケースがあります。このプロセスは、上記の手順を示しています。 Input: 23 Process: 23, 2304, 4 Output: 2 Input: 10 Process: 10, 100, 0 Output: 0 Input: 1 Process: 1, 16, 6, 64, 4 Output: 2 Input: 5 Process: 5, 529, 29, 2916, 16 Output: 4 Input: 145 Process: 145, 145161, 161, 16129, …

1
デジタルクロックマッチパズル
特定の数のマッチを追加、削除、または移動して新しい数または形を作成することを含む、マッチに関する多くのパズルがあります。これはデジタル時計のようなものです。 12時間のデジタル時計の有効な時間を考慮して、最も少ない行を移動する必要がある数字を出力して、時計上のすべての可視数字がその数字になるようにします。2桁以上の場合は、すべて出力してください。すべての桁を同じにすることが不可能である場合、出力-1または0以外の偽の値(これらの多くが得られます)。 時計の数字は次のようになります。 | | _ _| |_ _ _| _| |_| | _ |_ _| _ |_ |_| _ | | _ |_| |_| _ |_| _| _ | | |_| テストケース: 入力: 123 時計表示: _ _ | : _| _| | : |_ _| 出力: 4 説明:の表示で1:23は、合計12本の線を引く必要があります。したがって、すべての桁が同じになるには、各桁に4行が必要です。4行ある唯一の数字は4です。したがって、答えはでなければなりません4。 入力: …

3
結合区間表記で2つのセットの共通部分を見つける
結合区間表記で2つのセットの共通部分を見つける 区間の和集合として記述された2つの実数セットが与えられた場合、これら2つのセットの共通部分の説明を、同じタイプの区間の和集合として出力します。 入力セットは常に、各インターバルが異なる整数で開始および終了するように、インターバルの和集合で構成されます(つまり、どのインターバルにもメジャーゼロはありません)。ただし、同じセット内の異なる間隔は、同じ整数で開始または終了したり、重複したりする場合があります。 出力セットは、整数で開始および終了する間隔の和集合でもある必要がありますが、出力の間隔は、単一の整数でも他の間隔と重複することはできません。 入力は、整数のペアの2つのリストで構成されている限り、選択した言語に適した任意の形式を取ることができます。 たとえば、次のようにセットを表すことができます。 [-10,-4]u[1,5]u[19,20] またはとして: [[-10,-4],[1,5],[19,20]] またはとして: [-10,-4;1,5;19,20] 出力表現は、入力表現と同じでなければなりません(2つではなく1つの間隔のリストであることを除いて)。 例/テストケース: 入力: [[[-90,-4],[4,90]],[[-50,50]]] 出力: [[-50,-4],[4,50]] つまり、-90から-4までのすべての実数および4から90までのすべての実数を含むセットと、-50から50までのすべての実数を含むセットを交差させます。交差は、すべてを含むセットです。 -50〜-4の実数と4〜50のすべての実数。より視覚的な説明: -90~~~~~-4 4~~~~~90 intersected with -50~~~~~~~~50 yields: -50~-4 4~~50 入力: "[-2,0]u[2,4]u[6,8] [-1,1]u[3,5]u[5,9]" 出力: "[-1,0]u[3,4]u[6,8]" 入力: [-9,-8;-8,0;-7,-6;-5,-4] [-7,-5;-1,0;-8,-1] 出力: [-8,0] 無効な出力(同じセットを表す場合でも): [-8,0;-7,-5;-5,0] 得点: これはコードゴルフなので、次のボーナスによって変更される可能性があるため、バイト単位での最短のソースが優先されます。 ボーナス: 区間の境界として正と負の無限大もサポートする場合は-15%。これらの数値を表すトークンを選択できます。(そして、はい、無限は超現実の数です; P)

5
あらゆるサイズのデッキのパーフェクトシャッフルのサイクル長
チャレンジ 最短のコードで: 任意のサイズのカードのデッキ上に完全シャッフルの順列サイクルの長さを計算し、N(N ≥2及びnは偶数です)。 出力2≤のためのすべてのサイクルの長さのテーブルN ≤1000(nは偶数)。 完璧なシャッフルを定義するには、2つの基本的な方法があることに注意してください。あり、アウトシャッフル上に最初のカードと下部に最後のカードを保持し、かつそこにある中、シャッフル中央に向かって、最初と最後のカード1点の位置を移動し、。シャッフルするかシャッフルするかを選択できます。アルゴリズムは2つの間でほとんど同じです。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[1,6,2,7,3,8,4,9,5、 10]。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[6,1,7,2,8,3,9,4,10、 5]。 グラフィカルな例 ここでは、20カードデッキのアウトシャッフルのサイクル長が18ステップであることがわかります。(これは説明のみを目的としています。サイクルをグラフィカルに出力するためのソリューションは必要ありません。)一方、クラシック52カードデッキは、8段のアウトシャッフルサイクル長しかありません(図には示されていません)。 インシャッフル 20枚のカードデッキには、6つのステップのサイクル長を有しています。 出力の表形式の例 プログラムはこれに似たものを出力するはずですが、好きな表形式を選択することもできます。これはアウトシャッフル用です: 2 1 4 2 6 4 8 3 10 6 12 10 14 12 16 4 18 8 20 18 22 6 24 11 26 20 28 18 30 28 32 5 34 …

8
異なる合計の作成
整数を入力として受け取り、合計が最初の整数である2つの整数を出力または返すプログラムまたは関数を作成する必要があります。 さらに1つの要件があります。2つの異なる入力の出力に数値を含めることはできません。 細部 少なくとも範囲-32768 .. 32767(両端を含む)の入力を処理できる必要があります。 データ型が任意の整数を処理できない場合は問題ありませんが、理論上はアルゴリズムが任意の大きい数と小さい数で機能するはずです。 例 各ブロックは、正しいまたは正しくないソリューションの一部をの形式で示していinput => outputます。 1 => 6 -5 2 => -2 4 15 => 20 -5 Incorrect, as `-5` is used in two outputs. -5 => -15 10 0 => 0 0 1 => 5 6 2 => -5 7 Incorrect, as `5 …
10 code-golf  number 

2
ダンジョンを掘る数字
編集:質問の最後に、ボーナスパズルの最初のソルバーに100の評判の賞金を授与します! この賞金には期限がないため、回答が表示されたときにのみ、賞金を質問に追加します。 1桁の正の整数の減少しないリストが与えられた場合、桁を掘るダンジョンの深さを決定する必要があります。 ███ ███ A dungeon with 5 blocks removed and a depth of 3. ███ ███ ███ ████ ████████ 掘り始める前に地面は水平です。 すべての指は下から土のブロックを1つだけ削除できますが、ダンジョンの外側からその位置に到達する必要があり、ブロックを削除した後、ブロックはダンジョンを離れる必要があります。そうしている間、数字は水平ステップでその数値を超えて下降または上昇することはできません。 数字は掘るために次の戦略を使用します: 最小の値を持つ数字が最初に掘り、その後、次のディガーは常に残りの数字の次に小さい値になります。 最初の桁はどの位置でも掘ることができます。(すべての地面は同じです。) 次の数字は、常に開始された列の一番左にあり、そこから出たり入ったりすることができます。そのような列が存在しない場合、右端の列の右側にある新しい列を掘り始めます。 たとえば、数字1 1 1 2 3 3は次のダンジョンを掘ります(どの種類の数字がその位置を掘り起こすかを示す数字で段階的に視覚化します)。 ███1████ ███11███ ███11███ ███11███ ███11███ ███11███ ████████ ████████ ███1████ ███1████ ███1████ ███13███ ████████ ████████ ████████ ███2████ ███2████ …

12
配分のパラドックス
与えられた: 自然数S。 合計が1になるN個の有理重みWのリスト。 次のようなN個の非負整数のリストLを返します。 (1) sum(L) = S (2) sum((S⋅W_i - L_i)^2) is minimal 言い換えると、S⋅W_isをできるだけ整数で近似します。 例: 1 [0.4 0.3 0.3] = [1 0 0] 3 [0 1 0] = [0 3 0] 4 [0.3 0.4 0.3] = [1 2 1] 5 [0.3 0.4 0.3] = [2 2 1] or [1 …

5
t9のような機能を実装する
今日の課題は、t9のような機能を実装することです。 2つのパラメーターのみを持つ関数を実装します。 文字列で1つの電話番号と、単語のリストを含むテキストファイルのコンテンツを受け取ります(特定の改行スタイルは想定しないでください)。 リンクhttps://raw.githubusercontent.com/eneko/data-repository/master/data/words.txtを使用して機能をテストするか、使用することができます/usr/share/dict/words(詳細については、単語のリストを含むテキストファイルをチェックしてください[閉じる]情報)。 常に少なくとも2つの番号を受け取ると想定できます。 番号を指定すると、単語のリストから読み取って、それらの単語にマッピングされている文字で始まる単語を返します。これは、入力は2から9までの数字でなければならないことを意味し ます。無効な入力を受け取った場合は、何でも好きなことができます。 一致が見つからない場合は、空のリストnull/ nilまたはを返すことができます0。 携帯電話のキーは同等の文字にマッピングされていることに注意してください: 0と1は無効です 2件一致[abc] 3一致[def] 4試合[ghi] 5一致[jkl] 6一致[mno] 7一致[pqrs] 8試合[tuv] そして9試合[wxyz] 例: f('52726') //returns ["Japan","japan","Japanee","Japanese","Japanesque"...,"larbowlines"] f('552') //returns ["Kjeldahl","kjeldahlization","kjeldahlize"...,"Lleu","Llew"] f('1234') //makes demons fly out your nose or divide by 0 f('9999') //returns ["Zyzzogeton"] f('999999') //returns [] or null/nil or 0 関数を実行した後、任意の方法で関数を印刷できます。 ルール: 標準の抜け穴は無効です …

16
交換なしのランダムサンプリング
範囲から引き出された一連の個別の乱数を出力する関数を作成します。セット内の要素の順序は重要ではありません(ソートすることもできます)が、関数が呼び出されるたびにセットの内容が異なる可能性がある必要があります。 この関数は、3つのパラメーターを任意の順序で受け取ります。 出力セットの数のカウント 下限(両端を含む) 上限(両端を含む) すべての数値が0(両端を含む)から2 31(両端を含まない)の範囲の整数であると想定します。出力は任意の方法で返すことができます(コンソールに書き込む、配列としてなど)。 審査 基準には3つのRが含まれます ランタイム -クワッドコアWindows 7マシンでテストされ、自由にまたは簡単に利用できるコンパイラーを使用します(必要に応じてリンクを提供します) 堅牢性 -関数はコーナーケースを処理しますか、それとも無限ループに陥るか、無効な結果を生成しますか-無効な入力の例外またはエラーは有効です ランダム性 -ランダムな分布では容易に予測できないランダムな結果を生成するはずです。組み込みの乱数ジェネレータを使用しても問題ありません。しかし、明白なバイアスや明白な予測可能なパターンがあってはなりません。ディルバートの経理部門が使用する乱数ジェネレーターよりも優れている必要がある 堅牢でランダムな場合は、実行時になります。頑健またはランダムでないと、その立場は大きく損なわれます。

2
プライムグリッドゲーム
私はこれを解決するのが楽しかったので、このゴルフチャレンジを提供します。 このゴルフの目的は、指定された命令を使用して構築できる最大の素数を見つけることです。 1桁の3x3グリッドを入力として受け入れる必要があります。(どのようにするかはあなた次第ですが、プログラムでそれを指定してください。) グリッドに沿って直角に(左、右、上または下に)移動できます。移動するにつれて、横切った数字を追​​加し続けます。 例えば 1 2 3 3 5 6 1 8 9 我々が開始すると言う1、我々は数1236589を形成することができますがすることができない 15を形成します。 すべての開始位置を評価する必要があります。 素数が見つからない場合は印刷し-1、そうでない場合は素数自体を印刷します。 最短のコードが優先されます。コードが10秒以内に実行されることを確認してください。 楽しんで! 編集:整数で1つの位置を1回だけ使用します。 これがテストケースです 入力: 1 2 3 4 5 6 7 8 9 出力: 69854123

9
任意のベース変換[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Code Golf Stack Exchangeのトピックとなるようにします。 5年前休業。 1つの数値ベースシステムのブロックの配列を取り、それらを別の数値ベースシステムのブロックの配列に変換するルーチンを作成します。fromシステムとtoシステムはどちらも任意であり、パラメーターとして受け入れる必要があります。入力配列は任意の長さにすることができます(Cなど、配列の長さが配列に格納されていない言語を使用している場合は、長さパラメーターを関数に渡す必要があります)。 以下にその仕組みを示します。 fromArray = [1, 1] fromBase = 256 toBase = 16 result = convertBase(fromArray, fromBase, toBase); どちらが返される[0, 1, 0, 1]か、または返される可能性があります[1, 0, 1](先頭0のは、回答の値を変更しないため、オプションです)。 ここにいくつかのテストベクトルがあります: アイデンティティテストベクトル fromArray = [1, 2, 3, 4] fromBase = 16 toBase = 16 result = [1, 2, 3, …

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