タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

19
新しいパスワードのアイデア:Word-walker
私は自分のパスワードを生成する新しい方法を考えました。おそらく長期的にはあまり賢くないかもしれませんが、それでも楽しいコードゴルフを作ることができます。 単語の文字列を取得すると、パスワードは次のように生成されます。 n番目の単語のn番目の文字を選択します もしnは言葉よりも大きい場合、逆方向に数え続けます 例: This is a fun task! T s a u ! Tは最初の文字 sは2番目の aは最初ですが、前後に進むと3番目の u も2番目ですが、逆方向にカウントするため4番目の '!'でもあります 「task!」の5番目のキャラクターです したがって、最終パスワードに含まれます。Tsau! ルール 入力は文字列になります 文字列をスペースで区切ります。他のすべての文字を含める必要があります 大文字は小文字のままで、大文字のままにする必要があります あなたは取るn個のステップの各単語に、どこのnの前に来ている単語の数プラス1であります 場合は、nは言葉よりも大きい場合、あなたが開始をヒットした場合、あなたが強化しているまで、あなたは再び前進し、単語を逆方向にステップしなければならないのn倍 最初と最後の文字は一度だけステップされるため、例として7番目の位置の「fun」は「funufun」になり、「funnuff」ではなくnで終了し、fで終了します 出力は文字列でなければなりません 例: Input Output Once Upon A Time OpAe There was a man Taaa Who made a task Waak That …
23 code-golf  string 

15
かなりローマ三位一体ではない
整数n≥0を指定する139ABCDE…と、数字と1文字の区切り文字を使用して、非位置ベース3表記で出力します。すべての数字は3の連続した累乗であり、セパレーターの左側の数字は無効になります(例: A931 | B →81-(1 + 3 + 9 + 27)→ 41)。数字は1回しか表示されません。 厳密に、数字の値は次のとおりです。 数字が1、3、または9の場合の値 数字が27の場合 A B..の直前の数字の3倍の値Z 出力はsum(の右側|の桁の値|)-sum(の左側の桁の値)== inputを満たす必要があります。 例 input output ---------------- 0 | 1 |1 7 3|91 730 |D1 9999 FEDC|GA9 別の非スペース文字をセパレータとして使用できます。また、セパレータを持たないこともできます。この場合、最大桁が正のシーケンスを開始します。2 32 -1(PMIGDCBA9|RQNLH3)を超えるものを処理する必要はありません。 完全なプログラムまたは機能を記述でき、通常のチャネルのいずれかで入出力を提供できます。 これはcode-golfなので、答えが短いほど良いです!

21
「スラッシュ」順のマトリックス
2つの正の数N >= 2を与えN <= 100、次の規則に従う行列を作成します。 最初の番号は位置から始まります [0,0] 2番目の番号は位置から始まります [0,1] 3番目の番号が最初の番号(位置[1,0])より下になります 次の数字は「スラッシュ」方向に移動します 使用される番号の範囲は[1, N1 * N2]です。したがって、数値は1から始まり、両方の入力の乗算結果になります。 入力 2つの数字N >= 2とN <= 100。最初の数は行の量、2番目の数は列の量です。 出力 マトリックス。(多次元配列または改行付き文字列として出力できます) 例: 与えられた数字の3 and 5出力: 1 2 4 7 10 3 5 8 11 13 6 9 12 14 15 与えられた数字 2 and 2 1 2 3 4 …
23 code-golf  matrix 

25
指定された順序で文字列をソートします
あなたの挑戦は文字列をソートすることですが、通常のアルファベット順(abc..xyz)でなく、指定されたアルファベットで文字列をソートします。 アルファベットAと文字列Sの 2つの入力を受け取るプログラムまたは関数を作成する必要があります。両方に小文字の英字のみが含まれ、両方に少なくとも1つの文字が含まれます。 あなたがで文字を移動させなければならないSに最初に表示される文字というように、Aは、第二表示され、その後いずれかの文字、最初に表示されたAなどの一部の文字があるかもしれませんSに表示されていないA、これらは最後に残されるべきと互いに相対的に移動しません。 テストケース: A S Result axd haxuizzxaxduxha aaaxxxxdhuizzuh a xyz xyz abc dcba abcd il nmiuplliu iillnmupu asdf qwerty qwerty 最少バイト数が勝ちます!
23 code-golf  string 

12
ドランクールズジャーニーホーム
ドランクールズジャーニーホーム この課題では、酔っぱらいが酒場から帰る途中でつまずくのをシミュレートするプログラムを作成します。 入力: 入力は、酔っぱらいが通ることができるパスを表す隣接行列(有向グラフを表す)になります。各場所で、酔っぱらいはランダムに1つのパスを選択します(各オプションはほぼ等しいチャンスを持ち、以前の選択とは無関係です)。 酔っぱらいは常にバー(隣接行列の最初の行)から始まると仮定します。 酔っぱらいが行き止まりになった場合、彼は帰宅したか、公的な酔いで逮捕されたと考えられ、プログラムは彼の道を返すはずです。 グラフには常に少なくとも1つの行き止まりが含まれると想定できます。 また、酔っぱらいは常にバーを出ることができ(最初の行はすべてゼロではありません)、酔っぱらいが特定の場所に留まる場合、その行はすべてゼロで表されると想定することもできます。 出力: 出力は、酔っぱらいが家に帰ろうとする試みでたどった経路になります。場所の値は、0または1つのインデックス付きのいずれかです。 例: Input [1,0,1,1] [0,0,0,0] [1,0,0,0] [1,1,1,1] Possible Outputs [0,2,0,3,2,0,0,3,1] [0,3,0,3,1] Input [0,1,1,1,0,1] [1,0,1,0,1,1] [0,0,0,0,0,0] [0,0,0,0,0,1] [1,0,0,0,0,0] [0,0,0,0,0,0] Possible outputs [0,1,5] [0,5] [0,1,4,0,2] [0,3,5] [0,3,0,1,4,0,5] Deterministic path: Input [0,0,1,0] [0,0,0,1] [0,1,0,0] [0,0,0,0] Output [0,2,1,3]

6
128年?仮想うるう年の改革
このビデオによると、太陽年は365日、5時間、48分、45秒、138ミリ秒です。現在のグレゴリオ暦では、うるう年の規則は次のとおりです。 if year is divisible by 400, LEAP YEAR else if year is divisible by 100, COMMON YEAR else if year is divisible by 4, LEAP YEAR else, COMMON YEAR 残念ながら、この方法は3216年ごとに1日ずれています。 カレンダーを変更する1つの可能な方法は、次の規則です。 if year is divisible by 128, COMMON YEAR else if year is divisible by 4, LEAP YEAR else, …

30
数を増やす
この課題は、このStackoverflowの質問に基づいています。 入力として正の数を使用して、各桁の合計に10のべき乗表現を乗算して出力します。 入力 整数、文字列、または数字/文字のリストとしての数字。 数値は厳密に正になります。 数値を文字列またはリストとして受け入れた場合、番号で始まることはありません0。 出力 関連する各基数10桁の合計を表す文字列で、それぞれにその基数10の累乗を掛けます。合計はと表されa + bます。+必要に応じて、標識の両側に最大1つのスペースを使用できます。オペランドは降順でリストされています。 0 有効なオペランドにすることはできません。 +記号(スペースで囲まれたかどうか)が先頭または末尾の一部でなくてもよいです。 例 Input Output 12 10 + 2 or 10+2 or 10 +2 or 10+ 2 9 9 123 100 + 20 + 3 10 10 101 100 + 1 無効な出力 2 1 + 1 10 10 + …
23 code-golf  number 

20
正方形の三角形
正の整数xは、2つの異なる正の整数yとzがある場合に正三角形の数であり、xより小さいため、すべての合計が x + y x + z y + z 完全な正方形です。 たとえば、30は正方形の三角形の番号です。 30 + 6 = 6 2 30 + 19 = 7 2 6 + 19 = 5 2 あなたの仕事は、入力として正の整数を取り、それが正三角形の数であるかどうかを決定するコードを書くことです。2つの異なる値の1つを出力する必要があります。1つは入力が正三角形の場合、もう1つはそうでない場合です。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テストケース 以下は、1000未満のすべての正方形の三角形の番号です。 30,44,47,48,60,66,69,70,78,86,90,92,94,95,96,98,108,113,116,118,120,122,124,125,126,132,138,142,147,150,152,154,156,157,158,159,160,165,170,176,180,182,185,186,188,190,192,194,195,196,197,198,200,207,212,214,216,218,221,222,224,227,230,232,234,236,237,238,239,240,246,248,253,258,260,264,266,267,268,270,273,274,275,276,278,280,281,282,283,284,285,286,290,296,298,302,303,306,308,310,312,314,317,318,320,322,323,324,326,328,329,330,331,332,333,334,335,336,338,340,344,347,350,351,352,356,357,360,362,364,368,370,371,372,374,376,377,378,380,382,384,385,386,387,388,389,390,392,394,396,402,405,408,410,413,414,415,418,420,422,423,424,426,429,430,432,434,435,436,438,440,442,443,444,445,446,447,448,449,452,456,458,462,464,466,467,468,470,472,476,477,479,480,482,484,485,488,490,491,492,494,496,497,498,500,501,502,503,504,505,506,507,508,509,510,512,515,516,518,522,523,524,527,528,530,533,536,538,540,542,543,546,548,549,550,551,552,554,557,558,560,562,563,564,566,568,569,570,571,572,573,574,575,576,578,579,582,585,588,590,592,593,594,598,600,602,603,604,605,606,608,610,612,613,614,615,616,618,620,621,623,624,626,627,628,630,632,633,634,636,638,639,640,641,642,643,644,645,646,650,652,656,657,658,659,660,662,666,667,668,670,672,674,677,678,680,682,683,686,687,689,690,692,694,695,696,698,700,701,702,704,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,722,723,726,728,730,734,737,739,740,742,744,745,746,750,752,755,756,758,760,762,764,765,767,768,770,772,773,774,776,778,779,780,782,783,784,785,786,788,789,790,791,792,793,794,795,796,797,798,800,802,803,804,805,810,812,814,816,817,818,819,820,822,825,826,827,828,829,830,832,833,834,836,837,838,840,842,846,847,848,849,850,851,852,854,855,856,858,860,861,862,863,864,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,882,884,888,890,891,893,896,897,898,902,903,904,905,908,912,913,914,915,916,918,920,923,924,926,927,928,929,931,932,933,935,936,938,940,941,942,944,946,947,948,950,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,970,972,974,976,978,980,981,984,986,987,988,992,993,995,996,998 OEIS A242445

10
文字は他の文字に収まりますか?
色別に適切にグループ化されたマットを覚えていますか? 昨日私はそれを見ていましたが、いくつかの文字が他の文字に収まることに気付きました。例:P手紙Rが行く場所に収まる。そのため、ここで簡単な課題があります。2つの文字が与えられ、いずれかの文字が他の文字の内側に収まる場合(直接または回転しますが、反転しません)、偽の値を返します。つまり、入力が[P,R]また[R,P]はの場合、どちらの場合も一方の文字が他方の文字に収まるため、真偽を返す必要があります。取得した[L,U]場合は、falseyを他の内部に収まらないため返さなければなりません。 ルール 入力は、マット内にも数字があるため、[0-9A-Z]の範囲の2つの英数字にする必要があります(2つの入力として2つの個別の文字、2つの文字を含むリスト、 2文字、何でも)。 出力は一貫している必要があります(真実と偽の値は常に同じでなければなりません)。 以下はフィッティングの表です([Y,Y]入力としてのようなものを取得する場合のために、文字は常に適切な場所に収まることに注意してください)。 char fits inside chars -------------------------------------------------------- C G,O F B,E,P,R G O I 0,1,7,B,D,E,F,H,K,L,M,N,O,P,R,T,V,W,X,Z L E M W P R S O V A W M 0 O 1 B,E,L 3 O 6 9,O 8 O 9 6,O 私は子供用マットのすべてのフィッティングをテストしたことを厳soleに誓います。(額から汗を乾かします。) これはcode-golfなので、各言語の最短コードが勝つかもしれません! いくつかのテストケース input output ------------- …

3
最小の長方形カバー
長方形カバー 次のようなビットのマトリックスがあるとします。 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 このマトリックスの長方形カバーを見つけたいと思います。これは、0を含まないが、すべて1を含むマトリックスの長方形のサブセットのセットです。サブセットは互いに素である必要はありません。上記のマトリックスの長方形カバーの例を次に示します。 +----+ +----+ |1 1| 0 0 0 …

27
一般化されたマトリックストレース
インスピレーション。 与えられた(とにかく): 2つの引数(または2つの要素のリストで構成される単一の引数)ブラックボックス関数、(入力と出力は1、2、3、…)f: ℤ+ × ℤ+ → ℤ+ 少なくとも2行2列の厳密に正の整数行列 行列の関数traceを返します。 関数トレースとは何ですか? 通常のマトリックストレースは、マトリックスの主な対角線(左上から右下)の合計です。 [[1,2,3],[4,5,6],[7,8,9]]→ [1,5,9]→ 1+5+9→15 しかし、加算する代わりfに、対角線に沿って適用したい: [[1,2,3],[4,5,6],[7,8,9]]→ [1,5,9]→ f(f(1,5),9)かf(1,f(5,9)) 左から右または右から左のどちらを使用するかを明記してください。 指定された行列とすべての中間値は、言語の整数ドメイン内の厳密に正の整数になります。行列は非正方形の場合があります。 例 f(x,y) = xy、[[1,2,3],[4,5,6],[7,8,9]]→ 1×5×9→45 f(x,y) = xy、[[1,2,3],[4,5,6],[7,8,9]]→ →1591 f(x,y) = x-y、[[4,5,6],[1,2,3]]→ 4-2→2 f(x,y) = (x+y)⁄2、[[2,3,4],[5,6,7],[8,9,10]]→ 5または7 f(x,y) = x+2y、[[1,2,3],[4,5,6],[7,8,9]]→ 47または29 f(x,y) = max(x,y)、[[1,2,3],[4,5,6],[7,8,9]]→ max(1,5,9)→9 f(x,y) = 2x、[[1,2,3],[4,5,6],[7,8,9]]→ 2または4 …

25
バイナリシーケンス
d> 1桁の2進数Aを入力として、Bのn番目の桁を見つけるための以下の規則に従って、d桁の2進数Bを出力します。 Aの最初の数字と2番目の数字が等しい場合、Bの最初の数字はゼロです。それ以外の場合は1つです。 1 <n <dの場合、Aの(n-1)番目、n番目、および(n + 1)番目の桁が等しい場合、Bのn番目の桁はゼロになります。それ以外の場合は1つです。 Aの(d-1)番目とd番目の桁が等しい場合、Bのd番目の桁はゼロです。それ以外の場合は1つです。 ルール 文字列/リストの入出力形式は問題ありません。入出力の別の許可された方法は、整数とそれに続く先行ゼロの数(または先行ゼロの数に続く)です。 コードをできるだけ短くしてください。 テストケース 00 -> 00 01 -> 11 11 -> 00 010111100111 -> 111100111100 1000 -> 1100 11111111 -> 00000000 01010101 -> 11111111 1100 -> 0110
23 code-golf  binary 

5
ホイールの数を決定する
数学以外の説明 これは、背景に関係なく親しみやすい説明です。残念ながら数学が含まれていますが、中学校レベルの理解を持つほとんどの人が理解できるはずです ポインターシーケンスは、a(n + 1)= a(na(n))のようなシーケンスです。 この式を少し分解して、その意味を理解しましょう。これは、最後の用語を見るシーケンスの次の用語を見つけ、その多くのステップを取り戻し、見つかった用語をコピーすることを意味します。たとえば、これまでにシーケンスがあった場合 ... 3 4 4 4 3 ? 私たちは3つのステップから戻ります 3 ... 3 4 4 4 3 ? ^ 私たちの結果を作ります4。 通常、このゲームは両方向に無限のテープでプレイしますが、一定のステップ数を経てシーケンスの先頭に戻るホイールでプレイすることもできます。 たとえば、ここにシーケンスの視覚化があります [1,3,1,3,1,3] 今、私たちは、任意の数は、ことに気づくかもしれないのx、ホイール内のセルの数を超えたホイールで、nは、同様であるかもしれないX mod nをホイールの周りのすべての完全な回路は、何もしないと同じですので。したがって、すべてのメンバーがホイールのサイズよりも小さいホイールのみを考慮します。 数学の説明 ポインターシーケンスは、a(n + 1)= a(na(n))のようなシーケンスです。通常、これらは整数から整数に定義されますが、この定義で必要なのは後継関数と逆関数のみであることに気付くかもしれません。すべてのサイクリックグループにはこれらの両方があるため、実際には任意のサイクリックグループのポインターシーケンスを考慮することができます。 これらのタイプの関数を探し始めると、各関数に類似した関数がいくつかあることに気付くでしょう。たとえば、Z 3では、次の3つがすべて要件に適合する関数です。 f1 : [1,2,2] f2 : [2,1,2] f3 : [2,2,1] (ここでは、入力を使用してリストにインデックスを付けるだけで結果を取得する関数を表すためにリストが使用されます) これらの関数はすべて互いに「回転」していることに気付くかもしれません。私は回転によって何を意味するのか正式には、関数Bはの回転であるIFF 私たちはここに関与数学の少しを得れば今、私たちは、実際にあればことを示すことができるポインタ配列であるの回転ごとにもポインタ配列です。したがって、実際には、互いの回転であるシーケンスは同等であると見なされます。 …

26
単語のランクを見つける
定義 単語のランクは、単語が意味のあるかどうかに関係なく、辞書のように、文字の可能なすべての順列(または配置)がアルファベット順に配置されるときの単語の位置として定義されます。 「青」と「見える」という2つの単語を考えてみましょう。そもそも、これらの単語の文字のすべての可能な配置をアルファベット順に記述します。 "blue": "belu","beul","bleu","blue","buel","bule","eblu","ebul","elub","elbu","eubl", "eulb","lbeu","lbue","lebu","leub","lube","lueb","ubel","uble","uebl","uelb", "ulbe","uleb" "seen": "eens","eesn","enes","ense","esen","esne","nees","nese","nsee","seen", "sene","snee" 次に、左から見て、必要な単語の位置を見つけましょう。「blue」という単語が4番目の位置にあり、「seen」という単語が10番目の位置にあることがわかります。したがって、単語「blue」のランクは4、「seen」のランクは10です。これは、単語のランクを計算する一般的な方法です。必ず1からカウントを開始してください。 仕事 あなたの仕事は、入力として任意の単語を取り、そのランクを表示するコードを書くことです。ランクが出力になります。繰り返し文字を含む単語には注意してください。 例 "prime" -> 94 "super" -> 93 "bless" -> 4 "speech" -> 354 "earth" -> 28 "a" -> 1 "abcd" -> 1 "baa" -> 3 入力は完全に小文字であると想定でき、入力にはアルファベット文字のみが含まれます。また、空白または無効な文字列が入力された場合は、何でも返すことができます。 得点 これはcode-golfなので、最短のコードが優先されます!

11
全単射関数ℤ→ℤⁿ
(すべての整数のセット)から(たとえば恒等関数)に全単射関数を作成するのは簡単です。ZZZ\mathbb{Z}ZZ\mathbb{Z} それから全単射関数を作成することも可能であるに(2つの整数のすべてのペアのセットのデカルト積のと)。たとえば、2D平面上の整数ポイントを表すラティスを取得し、0から外側にらせんを描き、そのポイントと交差するときのらせんに沿った距離として整数のペアをエンコードできます。Z 2 Z ZZZ\mathbb{Z}Z2Z2\mathbb{Z}^2ZZ\mathbb{Z}ZZ\mathbb{Z} (自然数でこれを行う関数は、ペアリング関数として知られています。) 実際、これらの全単射関数のファミリーが存在します: fk(x ):Z → Zkfk(バツ):Z→Zkf_k(x) : \mathbb{Z} \to \mathbb{Z}^k チャレンジ 関数(は正の整数)のファミリーを、整数を個の整数のタプルに全単射でマッピングするというプロパティで定義します。k f k(x )kfk(x)fk(バツ)f_k(x)kkkfk(x)fk(バツ)f_k(x)kkk 入力と与えられると、提出は返す必要があります。x f k(x )kkkxバツxfk(x)fk(バツ)f_k(x) これはcode-golfなので、最短の有効な回答(バイト単位で測定)が勝ちます。 仕様書 上記の基準を満たす限り、任意のファミリを使用できます。fk(x)fk(バツ)f_k(x) 関数ファミリーの動作方法の説明と、関数の逆数を計算するスニペットを追加することをお勧めします(これはバイトカウントには含まれません)。 関数が全単射であることを証明できる限り、逆関数が計算不可能であれば問題ありません。 言語の符号付き整数と符号付き整数のリストに適切な表現を使用できますが、関数への入力を無制限にする必要があります。 値を最大127までサポートする必要があります。kkk
23 code-golf  math  number 

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