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

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

8
すべてのアナグラム、およびサブアナグラムも見つけてください!
この質問は頻繁にオフに基づいているこの質問が、追加の多くの困難を提起する必要があります。 あなたのタスク 文字列を受け取ったときに、可能なすべてのアナグラムを出力するプログラムまたは関数を作成する必要があります。この質問のために、アナグラムは元の文字列と同じ文字を含む文字列ですが、元の文字列ではありません。サブアナグラムは、入力された文字列のサブストリングのアナグラムです。アナグラムとサブアナグラムは、実際の単語である必要はありません。 入力 標準の入力方法で、文字列を受け入れることができます。これは、長さが0を超える場合があります。ASCII文字を含めることができます。 出力 入力された文字列の可能なアナグラムとサブアナグラムのすべてを標準的な方法で出力できます。同じ文字列を2回出力したり、入力と同じ文字列を出力したりしないでください。 その他の規則 標準の抜け穴は許可されていません 得点 これはcode-golfで、最小バイトが勝ちます。

4
モジュラーパワータワーの評価
2つの数値nとmが与えられた場合、無限の電力塔を評価します。 n ^(n + 1)^(n + 2)^(n + 3)^(n + 4)^ ... mod m ^は右結合であることに注意してください。したがって、2 ^ 3 ^ 4 = 2 ^(3 ^ 4)。さて、どうやって値を右連想演算子の無限シーケンスに割り当てることができますか? f(n、m、i)を、無限の電力塔の最初のi項を含む電力塔として定義します。次に、i> Cごとにf(n、m、i)= f(n、m、C)のような定数Cがあります。したがって、無限の電力塔は特定の値に収束すると言えます。その価値に興味があります。 プログラムは、合理的な最新のPCで10秒未満でn = 2017、m = 10 ^ 10を計算できる必要があります。つまり、ブルートフォーシングを行わずに、実際のアルゴリズムを実装する必要があります。 プログラミング言語の数値制限については、n <2 30およびm <2 50であると想定できますが、アルゴリズムは理論的には任意のサイズn、mで機能する必要があります。ただし、プログラムはこれらのサイズ制限内の入力に対して正しくなければなりません。入力がこれらの制限内であれば、中間値のオーバーフローは許されません。 例: 2, 10^15 566088170340352 4, 3^20 4 32, 524287 16

1
Githubメッセンジャー
目標:この目標は、文字列を取得し、メッセージを表示するために何日に貢献する必要があるかを出力します。 仕様 入力 サポート文字とスペース(すなわち[A-Za-z ]) スペースは空白です 3X7 文字は、以下で提供されるこの5x7 DOTマトリックスフォントで定義されています 各文字のサイズが最小の境界長方形である(例えばl = 3x7、e = 5x5) 着色 5色あります C0, C1, C2, C3, C4 CXとのY貢献が必要3X <= y < 3(X+1) 文字はC1とC2 スペースには色がありません 各文字サイズは、隣接する文字と正確に1列重複する必要があります セルに複数の色がある場合は、使用します C3 ドットマトリックス ドットマトリックスはGithubの貢献履歴グラフです 今日が2017年5月1日月曜日の場合: 4-30 5-07 5-15 [5-01] 5-08 5-16 5-02 5-09 . 5-03 5-10 . 5-04 5-12 . 5-05 …
13 code-golf  date 

7
古いCコードTransmogrifier *
*トランスモーグリファイアとは何ですか? でCプログラミング言語と呼ばれる地層がある有向グラフとトリグラフにあまり一般的でない文字を評価2と3文字の配列です。たとえば??-、キーボードにがない場合に使用できます~。 テキストが与えられたら、次のダイグラフおよびトライグラフのすべてのインスタンス(左側)を、正しい短いゴルフのキャラクター(右側)に置き換えます。 ??= # ??/ \ ??' ^ ??( [ ??) ] ??! | ??< { ??> } ??- ~ <: [ :> ] <% { %> } %: # ソース 入力 入力はASCIIテキストです。末尾の改行が許可されます。有効なCコードである必要はありません。 出力 出力は同じテキストであり、上記のダイグラフおよびトライグラフのすべてのインスタンスが、左から右に評価された短縮バージョンに置き換えられます。末尾の改行が許可されます。有効なCコードである必要はありません。 テストケース => 入力と出力を分離します。 if (true ??!??! false) { => if (true || false) { …
13 code-golf  string 

5
Word Poker、誰が勝つか?
入力は2つの5文字の単語になります。それらは実際には辞書の単語である必要はなく、それぞれ5文字だけで、すべて小文字またはすべて大文字で選択できます。入力ワードにはAZのみが表示され、それらは常に5文字の長さになります。 あなたのプログラムは、あたかもポーカーハンドであるかのように両方を獲得し、ハイハンドを出力します。もちろん、ここではスーツは適用されません。ランキングのみなので、フラッシュはありません。 典型的なポーカーランキングシステムは、「1ペア」、「2ペア」、「3種類」、「ストレート」、「フルハウス」、「4種類」、「5種類」、そしてもちろん手(この場合は言葉)には何の価値もない可能性があります。 同数の場合、 Aに近い文字はより高いとみなされるため、AsのペアはBのペアを破ります。場合によっては、両方のハンドが同一であるかもしれませんが、異なる順序(または異なる順序)である場合、その場合はハンドまたは再ソートされたバージョンを出力します。 この外部ページには、勝者を特定する方法に関する情報が含まれており、特にポーカーのハンドを獲得する方法に慣れていない場合に備えて、特定のランキング内の関係に対処しています。 ストレートの場合:文字はアルファベットで隣接している必要があり、折り返すことはできません。したがって、「defgh」は任意の順序でストレートですが、「xyzab」はそうではありません。 シングルハンドを獲得する方法の例: word | scored as --------------------- ccccc | 5 of a kind <-- highest ranking woooo | 4 of a kind opopo | full house vurst | straight vovvu | 3 of a kind ppoww | 2 pairs upper | 1 pair kjsdf …
13 code-golf  string 

2
地図を拡大する
あなたの仕事は、地図を入力として、縮尺に応じてズームアウトまたはズームインすることです。指定された縮尺はズームアウトする縮尺であるため、0〜1の縮尺は実際にズームインすることに注意してください。 たとえば、次の(不適切に作成された)マップがあるとします。 ..____.... ../OOO\... ..\OO/\... .......... スケールファクター2の場合、最初に2x2セクションに分割する必要があります。 .. | __ | __ | .. | .. .. | /O | OO | \. | .. ---------------------- .. | \O | O/ | \. | .. .. | .. | .. | .. | .. そして、各セクションで最も一般的なキャラクターを見つけます。 .__.. ..... あいまいなセクションがあったことに注意してください。 __ OO …
13 code-golf  string 

25
高調波シーケンスの部分和!
定義 数学では、調和シーケンスとは、次のシーケンスを指します。 つまり、シーケンスのn 番目の項はnの逆数に等しくなります。 前書き この課題では、入力として正の整数nが与えられ、調和シーケンスの最初のn項の部分和を出力します。 入力 (あなたの言語でサポートされている数値の範囲内で)正の整数が与えられます。チャレンジには正の整数のみが必要なため、SignedとUnsignedのいずれかになります(ユーザーによって異なります)。 入力は、事前定義された変数に存在すると想定する以外の方法で取得できます。ファイル、ターミナル、モーダルウィンドウ(prompt()JavaScript)などからの読み取りが許可されます。入力を関数の引数として使用することもできます。 出力 プログラムは、高調波シーケンスの最初のn項の合計を、有効数字5桁の精度のfloat(または出力が1で割り切れる場合は整数)として出力する必要があります(nは入力を参照)。数学の専門用語で同じことを伝えるには、計算する必要があります ここで、nは入力を指します。 出力を変数に書き込む以外の方法で出力できます。画面、端末、ファイル、モーダルウィンドウ(alert()JavaScript)などへの書き込みが許可されます。関数return値として出力することもできます。 追加の規則 入力番号は、0インデックスまたは1インデックスのいずれかです。投稿でそれを指定する必要があります。 組み込みを使用して、最初のn個の要素の部分和を計算しないでください。(ええ、あなたのためですMathematica!) 問題を平凡にするために、ネイティブの数値型を乱用してはなりません。 標準の抜け穴が適用されます。 テストケース テストケースでは、入力が1インデックスであると想定しています Input Output 1 1 2 1.5 3 1.8333 4 2.0833 5 2.2833 受賞基準 これはcode-golfなので、バイト単位の最短コードが勝ちです!

13
フィボナッチキンを実装する
A クワインは、実行時にそのソースを出力するプログラムです。 この課題では、フィボナッチキンを作成する必要があります。 フィボナッチキンとは何ですか? フィボナッチキンとは、次の規則に従ってソースの変更を出力するプログラムです。 最初のソースはである必要があります...2...。つまり、ソースにはが含まれている必要があります2。(なぜ2?1だった場合、それが最初の1であるか2番目であるか、プログラム自体でさえ誰も知らないでしょう) 実行すると、ソースを出力する必要がありますが、特定の番号(この段階では)のみ2がフィボナッチ数列の次の番号に変更されます。たとえば、...3...。出力、出力の出力なども同様です。最大2 ^ 32-1の整数をサポートできます。その制限を超える整数の場合、次の出力は選択できます。 OPのメモ 私はこのための創造的な解決策を本当に見たいです。チャレンジの2つの重要な側面であるフィボナッチとクインの両方は簡単ではないため、これに対する単一の解決策を考えることはできませんでした。待ってます!

1
ゲーデルのβ関数を手伝う[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 閉じた2年前。 ゲーデルのβ関数は、3つの自然数を引数として取ります。 次のように定義されます β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) ここで、rem(a、b)は、aをbで整数除算した後の剰余を示します。 β補題は次のように述べています: 自然数のシーケンス(k_0、k_1、…、k_n)には、i≤nごとにβ(b、c、i)= k_iとなる自然数bとcがあります。 ゲーデルは見つけるために助けを必要とbし、c任意の入力のために(k_0, k_1, … , k_n), k_i ∈ ℕ。 n自然数で満たされたlengthの配列を受け取り、配列のb,c補題を満たす可能性のある出力を与える関数を作成します。 総当たりで解決策を得ないでください! (私の完全に非専門家の意見では、最初に数字を取得してから計算するときは総当たりです。それは数字を推測し、次に推測が正しいかどうかを調べることです。ここでコーディングしたいのは、それらはそうするように計算されたため、補助定理を満たしているかどうかをチェックする必要はありません。) 与えられた方程式と情報でそれらを構築します。最短コード勝ボーナスポイントあなたがそれを行う場合Javascript、私はちょうどそれに取得していますので、:) 例: [5, 19, 7, 8] -> (1344595, 19) 1344505 …

7
最大一致エッジのセットを見つける
接続された無向グラフについて考えてみましょう。エッジの整合組このグラフには、エッジように設定共有内の2つのエッジが共通の頂点の集合として定義されます。たとえば、左の図は一致するセットを緑で示し、右の図は一致しないセットを赤で示します。 一致するセットはと呼ばれますmaximally matching。またはmaximal matching、グラフの別のエッジを一致するセットに追加することが不可能な場合。したがって、上の例は両方とも最大一致セットではありませんが、下の青のセットは両方とも最大一致です。最大一致は必ずしも一意ではないことに注意してください。さらに、グラフの各可能な最大マッチングのサイズが別のマッチングと等しいという要件はありません。 この課題の目標は、グラフの最大一致を見つけるプログラム/関数を作成することです。 入力 入力グラフのすべての頂点に、選択した任意の開始整数値から始まる連続した整数番号があると仮定します。エッジは、エッジが接続する頂点を示す順序付けられていない整数のペアで記述されます。たとえば、上記のグラフは、次の順序のないエッジのセットで説明できます(頂点の番号付けが0で始まると仮定)。 [(0,1), (0,2), (1,3), (1,4), (2,3), (3,4), (3,5), (5,6)] グラフを記述する別の方法は、隣接リストを使用することです。上記のグラフの隣接リストの例を次に示します。 [0:(1,2), 1:(0,3,4), 2:(0,3), 3:(1,2,4,5), 4:(1,3), 5:(3,6), 6:(5)] プログラム/関数は、入力として任意のソース(stdio、関数パラメーターなど)からグラフを取得する必要があります。追加の重要な情報がプログラムに伝達されない限り、任意の表記を使用できます。たとえば、入力エッジの数を示す追加のパラメーターを使用することは完全に受け入れられます。同様に、エッジの順序なしマルチセット、隣接リスト、または隣接行列を渡すことは問題ありません。 あなたは仮定するかもしれません: グラフは接続されています(たとえば、開始頂点があれば、どの頂点にも到達できます)。 少なくとも1つのエッジがあります。 エッジが頂点をそれ自体に直接接続することはありません(例:エッジ(1,1)は入力として与えられません)。サイクルがまだ可能であることに注意してください(例:上記のグラフ)。 入力頂点は任意のインデックスで開始する必要があります(たとえば、最初の頂点は0、1、-1など)。 頂点の番号付けは、選択した開始インデックスから順番に増加します(例:1,2,3,4,...、または0,1,2,3,...)。 出力 プログラム/関数は、最大一致セットを示すエッジのリストを出力する必要があります。エッジは、そのエッジが接続する2つの頂点によって定義されます。例 左の青いセットの出力(入力頂点の順序の例を使用): [(1,4), (2,3), (5,6)] 頂点の順序は重要ではないことに注意してください。したがって、次の出力は同じ一致セットを示しています。 [(4,1), (2,3), (6,5)] 出力は、標準出力、ファイル、関数の戻り値などになります。 例 次に、いくつかの入力例を示します(隣接リスト形式を使用)。これらの例では、で頂点のカウントを開始してい0ます。 出力例は示されていないことに注意してください。代わりに、Python 3検証コードが含まれています。 [0:(1), 1:(0)] [0:(1,2), 1:(0,3,4), 2:(0,3), …

30
指定されたインデックスの文字列の要素
文字列sとnの長さよりも負でない数sを指定すると、のn-番目の位置にある文字を出力しsます。 0インデックスと1インデックスが許可されます。1-indexingの場合、n正で、の長さ以下ですs。 s 印刷可能な文字のみで構成されます。 合理的な入力/出力が許可されます。標準の抜け穴が適用されます。 テストケース(0インデックス付け): n s output 0 "abcde" a 1 "abcde" b 2 "a != b" ! 3 "+-*/" / 4 "314159" 5 テストケース(1-indexing): n s output 1 "abcde" a 2 "abcde" b 3 "a != b" ! 4 "+-*/" / 5 "314159" 5 これはcode-golfであるため、バイト単位の最短回答が優先されます。
13 code-golf  string 

18
SEはいつダウンしますか?
SEは本日 2017-05-04の00:00 UTCに00:20 UTCまでダウン/読み取り専用になります。 あなたの課題は、SEがダウン/読み取り専用の場合は真の値を出力し、SEがそうでない場合は偽の値を出力することです。入力がない場合があり、SEがダウン/読み取り専用であるかどうかを確認するために、日付ビルトインを使用する必要があります(実際にSE APIを照会しない!)出力例: 12:34 UTC 03 May 2017 -> false 00:00 UTC 04 May 2017 -> true 00:20 UTC 20 May 2017 -> undefined, see below それは未定義の振る舞いです。なぜなら、それは時間の窓から離れすぎているからです。明確にするために、プログラムは8:00今日のUTC (5/3/17)から1:00明日(5/4/17)のUTC まで実行されると想定できます。 00:21 UTC 04 May 2017 -> false 00:20 UTC 04 May 2017 -> true 00:10 UTC 04 May …

3
最も効率的なバイナリ関数を計算する
今日は、最も効率的なバイナリ関数を計算します。より具体的には、定数入力0または独自の出力に関数を適用して式を作成する場合、可能な限り短い式ですべての正の整数を表現できる関数を計算し、小さい整数に高い優先順位を付けます。 この関数は次のように構築されます。 1から始めて上に行く整数ごとに、まだ出力を割り当てていない最短の式を選択し、その整数をその式の出力にします。式の長さの関係は、左の引数が小さくなり、次に右の引数が小さくなります。仕組みは次のとおりです。 最初は、1は割り当てられていません。割り当てられていない最も短い式はf(0, 0)ですので、1に設定します。 現在、2は割り当てられていません。割り当てられていない最短の式はf(f(0, 0), 0)= f(1, 0)とf(0, f(0, 0))= f(0, 1)です。ネクタイは、より小さい左引数に向かって壊れていf(0, 1) = 2ます。 残っている最短の未割り当て式はf(f(0, 0), 0)=なのでf(1, 0)、f(1, 0) = 3です。 これで、2 fと3 のみの式がなくなった0ため、それぞれをもう1つ追加する必要があります。左の引数、右引数で絆を断ち切る、我々が得るf(0, 2) = 4ことから、f(0, f(0, f(0, 0))) = f(0, f(0, 1)) = f(0, 2)。 続いて、我々は持っていますf(0, 3) = 5、f(1, 1) = 6、f(2, 0) = 7、f(3, …

6
簡単なスプレッドシートを評価する
ルール セル範囲参照なし(A2:B3)。 最大9行9列です。 循環参照や数式エラーはありません。 空のセルはに評価され0ます。 データは数字のみですが、文字列として解釈される場合があります。 数式は文字列です。 実装の選択肢 次の事項について選択を述べる必要があります。 数式の前に任意の単一文字を付ける必要があります(例:=–かどうか)。 2番目の行の左端のセルは、Excelなどによって使用される2つの規則に従って、A2またはR2C1です。 セル参照に単一文字のプリまたはサフィックスが必要です(例:$-かどうか)。 0空のセルを表すnull、空の文字列、空のリストなどのいずれか(ただし、ではありません)。 提出の言語(スプレッドシートマネージャーは許可されません)。 数式の言語(上記と異なる場合があります)。* ソリューションを説明するためのブラウニーポイントまたはCookie。 例 選択肢:7:=; 8 A2:; 9:なし。10 "":; 12:Excel式言語 に: [[ 2, 3], ["=A1+B1",""]] でる: [[2,3], [5,0]] に: [[ 2,"=A1+B2"], ["=A1+B1", ""]] でる: [[2,2], [4,0]] に: [[ 3, 4,"=A1*B1"], [ 2, 5,"=A2*B2"], ["","","=C1+C2"]] でる: [[3,4,12], [2,5,10], …

13
粘り強いタイのカレンダー
でタイ暦 2560年に2017対応のタイ暦は543年先グレゴリオ暦のは常にあります。 観察者のコーダーは、2560がに等しい2^9 * 5、つまり10個の素因数があることに気付くでしょう。これは、さらに896年は再び起こりません!正確に10の素因数がある場合、1年は粘り強いと呼びます。 システムクロックに基づいて、タイのカレンダーを使用した現在の年が粘り強い場合は真実の値を出力し、そうでない場合は偽の値を出力するプログラムを作成します。 テストケース: プログラムが2017年に実行された場合、 true 2018年から2912年のいずれかにプログラムが実行された場合、 false プログラムが2913の間に実行される場合、true(2913 + 543 = 2^7 * 3^3)

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