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

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

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

7
ビンゴカードジェネレーター
ビンゴカードは、5つの正方形がそれぞれ5列に並んでいて、中央の正方形は「無料」と指定されています。番号は重複できません。 5つの列には、次の範囲の数値が入力されます。 B:1-15 I:16〜30 N:31〜45 G:46-60 O:61〜75 できるだけ少ない文字数で、ランダムなビンゴカードとして解釈できる文字列を出力します。例えば: 1,2,3,4,5,16,17,18,19,20,31,32,33,34,35,46,47,48,49,50,61,62,63,64,65 この例はランダム化されていないため、列1に1,2,3,4,5が入力されていることがわかります。また、この文字列を解釈するフロントエンドがそれをスキップするため、空き領域には特別な処理が行われていないことにも注意してください。 別の例は次のとおりです。 1,16,31,46,61,2,17,32,47,62 ... この例では、出力は列ごとではなく行ごとです。 3番目の例は次のようになります。 01020304051617181920313233343546474849506162636465 これは、固定長であることを除いて、最初の例と同じ出力です。
10 code-golf  game 

5
単純なIRCボットを作成します。
仕事 ユーザーへの挨拶のような単純なタスクを実行する単純なIRCボットを作成します。 細部 (このRFC文書が表示される場合があります。) これらを実行する完全なプログラムを作成します。 プログラムの入力nicknameとrealnameユーザーから。 すべてnicknameとrealnameどのフォームを[A-Za-z0-9]+許可する必要がありますが、他のフォームを許可するかどうかは重要ではありません。たとえば、ユーザーが1234qwertyas nicknameおよび5319009asをrealname必要とする場合、プログラムはそれらの名前を使用する必要がありますが、プログラムが^^☆Rick Astley☆^^(非アルファベットと10進数を含む)を(nicknameまたはrealname)として使用できるかどうかは重要ではありません。サーバーによって。 プログラムserverAddressはユーザーから入力します。 の形式はserverAddressですserverIP:serverPort。serverIPはサーバーのIPアドレスで、はサーバーserverPortのポート番号です。 プログラムはserverPortIRCサーバーのポートに接続しserverIP、とを送信することによりnickname、ニックネームを実名に設定する必要があります。realnameUSER realname 0 * :realnameNICK nickname プログラムはchannelNameを含まないシングルを入力#し、チャンネルに参加します#channelName。 次のようにプライベートメッセージHello, world!を#channelNameチャンネルに送信します。PRIVMSG #channelName :Hello, world! 次に、プログラムはこれらを実行します。 A.誰かが参加する場合は、に言っHello, @!て挨拶し#channelNameます。ここで、@は彼/彼女のニックネームです。 B.プログラムがキックされた場合は、再度参加してみてください。 C.人がキックまたは禁止されている場合は、と言いPOW HAHAます。 D.人が(PARTまたはQUIT)を去る場合は、と言いますGoodbye, @!。ここで、@はその人のニックネームです。 E.誰かがTuring testまたはを含むテキストを言ったらturing test、と言いI'm a human!ます。 F.誰かがを含むテキストを言った場合、サーバーに6*9送信QUIT :42して終了します。 G.誰かがall your base are belong to us(大文字小文字を区別しない)を含むテキストを言った場合QUIT :What you say!、サーバーに送信して終了します。 H.誰かがスペースの前にあるテキストとそれ以上の動作がテキストによって実行されないと言う場合、テキスト内のすべての(最初のスペースを除く)文字の文字コードの合計を言います。 エラーが発生した場合 …

5
n個の異なる素因数を持つn番目の数
最短関数、プログラム、または算出式作成A073329に、すなわち、a(n)あるn番目持つ数n個の別個の素因数を。入力は、返されるシーケンス内の要素の数です。0 < n。整数の精度には関心がありません。アルゴリズムが欲しいだけです。任意の大きな整数をサポートしていない言語については、サポートするふりをします。 上記のOEISへのリンクをたどることで、テストケースを見つけることができます。 更新: プログラム、関数、または式から整数シーケンスを返す必要があることを明確にしましょう。つまり、1からまでのすべてf(x)を計算a(n)する必要があります。与えられた8の、あなたの関数が返す必要があり、配列または他の適切なデータ構造として。nxx2, 10, 60, 420, 4290, 53130, 903210, 17687670
10 code-golf  math 

3
飛行機のナビゲーション
あなたは地元の飛行機配達会社の飛行ルートの計画を立てられています。飛行機をA地点からB地点にルーティングする必要があります。Aから出発してB地点に飛行機を向けることはできませんが、卓越した風がコースを吹き飛ばすためです。代わりに、風を考慮して、飛行機がBに直接飛行するように飛行機をどの方向に向けるかを判断する必要があります。 入力 7つの浮動小数点数、A_x、A_y、B_x、B_y、S、W_x、W_yをエンコードします。これらは、出発地と目的地の座標、あなたの航空機の対気速度、及びXに沿って風の強さとy軸(風が吹く方向であるに対して、ではないから)。 出力 平面がBに直線で到達するように向ける角度(度数の正のx軸から反時計回りに回転)を印刷する必要があります。GROUNDED風が強すぎて旅行が不可能になる場合は、印刷します。 あなたは最も近い程度に丸めることができます、そしてあなたが望むどんな方法でもそうします(上/下/最近/ ...)。 例 入力 0 0 10 0 100 0 -50 0 0 10 0 50 -55 0 3.3 9.1 -2.7 1.1 95.0 8.8 1.7 出力 30 GROUNDED 229 最短のコードが勝ちます。
10 code-golf  math 

12
シーケンスの平衡インデックス
シーケンスの平衡インデックスは、低いインデックスの要素の合計が高いインデックスの要素の合計と等しくなるようなインデックスです。たとえば、シーケンスAの場合: A[0]=-7 A[1]=1 A[2]=5 A[3]=2 A[4]=-4 A[5]=3 A[6]=0 3は平衡指数です。 A[0]+A[1]+A[2]=A[4]+A[5]+A[6] 6は平衡指数でもあります。 A[0]+A[1]+A[2]+A[3]+A[4]+A[5]=0 (ゼロ要素の合計はゼロです)7はシーケンスAの有効なインデックスではないため、平衡インデックスではありません。 アイデアは、シーケンス(配列)を指定して、平衡インデックス(任意)または平衡インデックスが存在しない場合は-1を返すプログラムを作成することです。
10 code-golf 

13
桁の積
与えられた正の整数Nに対して、Mの数字の積がNに等しくなるような最小の自然Mを見つける完全なプログラムを作成します。Nは1,000,000,000未満です。Mが存在しない場合は、-1を出力します。どのような場合でも、コードは10秒を超えてはなりません。 Sample Inputs 1 3 15 10 123456789 32 432 1296 Sample Outputs 1 3 35 25 -1 48 689 2899
10 code-golf  math 

4
多項式の長除算
2つの多項式を除算し、商と剰余を取得するアルゴリズムである多項式長除算を実装します。 (12x ^ 3-5x ^ 2 + 3x-1)/(x ^ 2-5)= 12x-5 R 63x-26 プログラムでは、定数項が末尾にある配列として多項式を表現します。たとえば、x ^ 5-3x ^ 4 + 2x ^ 2-x + 1は[1、-3、0、2、-1、1]になります。 作成する長除算関数は、商と剰余の2つの値を返します。数値の不正確さと算術エラーを処理する必要はありません。数学ライブラリを使用してジョブを実行しないでください。ただし、関数でシンボリック値を処理できるようにすることができます。最短のコードが勝ちます。 例: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])

20
コイントスの半分の頭が出る確率を計算します。
標準入力から小さな正の偶数の整数を指定して、その多くのコインを反転させると、半分の頭数になる確率を計算するプログラムを記述します。 たとえば、2つのコインが与えられた場合、可能な結果は次のとおりです。 HH HT TH TT ここで、HとTは頭と尾です。コインの数の半分の頭数の2つの結果(HTおよびTH)があります。合計4つの結果があるため、確率は2/4 = 0.5です。 これは見た目より簡単です。 テストケース: 2 -> 0.5 4 -> 0.375 6 -> 0.3125 8 -> 0.2734375

13
BCDバイナリクロックを描画する
ASCIIでBCD バイナリクロックを作成します。暗黙のとおり、6列のドットで時間を表示します。 (出典:ウィキメディア・コモンズ) 各列はバイナリコード化された数字で、左から右に時間、分、秒を読み取ります。時間は24時間形式で表示されます。 表示する時間は、コマンドラインまたはstdin(どちらか適切な方)から読み取られます。空の場合は、代わりに現在の時刻を使用する必要があります。 出力サイズはここで少し制限されており、2行のテキストしか収めることができません。したがって、ドットを2行だけに入れる必要があります。文字.、:そして'ここに便利になります。 入力 ISO-8601形式で表示する時間HH:MM:SS。つまり、小数秒なし。必須の24時間形式。入力は空にすることができます。その場合、現在の時刻が使用されます。 出力 の2本の線は、上の画像のようにBCDバイナリクロックを表しています。各行は正確に6文字で、使用できる文字はスペース、ピリオド、コロン、アポストロフィのみです。 勝者 バイト数による最短コードが優先されます。引き分けに、ソリューションが最初に勝利しました。 入力例1 (空の) 出力例1 . ''. :: 入力例2 17:59:20 出力例2 ..' .:..' 入力例3 01:08:01 出力例3 ' . .

4
ワードスピナーパズル
これはワードパズルです。 プログラムは、標準入力で2つの単語を受け入れる必要があります。 単語1が開始単語です。単語2は最後の単語です。 開始単語から、一度に1文字ずつ変更/追加/削除して終了単語に到達する必要があります。各変更後、新しい有効な単語を形成する必要があります。追加された文字は、最初または最後に追加されます。任意の場所から文字を削除できます(ただし、単語は3文字の長さを下回ってはいけません)。注:文字を並べ替えて単語を作成することはできません。 プログラムの出力は、開始ワードから終了ワードまで取得する一連のワードです。 例: Input: Post Shot Output: Post cost coat goat got hot shot 勝者: プログラムは妥当な時間(10秒未満)で実行する必要があります。 賞品ワードへの最短出力シーケンスを生成できるプログラム。 亜鉛->シリコン 複数のプログラムが最短のシーケンスを取得する場合、char内の最短のプログラム(空白は無視)。 それでも複数のプログラムがある場合は、提出日時が使用されます。 ノート: 大文字と小文字は区別されません。 辞書を作成するためのコードは、コードコストには含まれません。 賞品の単語とシーケンスは、http://dl.packetstormsecurity.net/Crackers/wordlists/dictionaries/websters-dictionary.gzから生成され ます。

11
詐欺師をマッピングしてください!
すべての課題が提出されると、生徒番号をファイルのハッシュにマップする辞書が作成されます。 このディクショナリ、またはハッシュマップ、またはマッピング(言語によって何と呼ばれていても)は次のようになります。 {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"} キーは学生番号で、値はハッシュです。 私たちの仕事は詐欺師を選ぶことです!不正行為者は、同一のハッシュを持つものです。 入力が与えられると、{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}関数は次のテキストを返す(または出力する)必要があります。 100 has identical files to 430 104 has identical files to 332 ハッシュが一意であるファイルが言及されていないことに注意してください。 また、ここでの順序も重要です。 {100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"} 次のテキストを返す(印刷する)必要があります。 100 has identical …

3
テキストをキープレスに変換する
私はロボットです。長方形のレイアウトが簡単なため、このキーボードを購入しました。 ~` !1 @2 #3 $4 %5 ^6 &7 *8 (9 )0 _- += tab Qq Ww Ee Rr Tt Yy Uu Ii Oo Pp {[ }] \| Aa Ss Dd Ff Gg Hh Jj Kk Ll :; "' [-enter-] Zz Xx Cc Vv Bb Nn Mm <, >. ?/ …

22
自身がn回あるリストのデカルト積
値のリストと正の整数を指定するnと、コードはリストとn時間のデカルト積を出力します。 たとえば、疑似コードでは、関数は次のようになります。 for x1 in list: for x2 in list: for x3 in list: ... for xn in list: print x1, x2, x3, ... , xn 例: repeated_cart([1,2,3], 3) 1 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 2 3 1 3 1 …

7
そこで、私はそれを修正しました(ロープで)
関連:水平方向に似た(ただしはるかに簡単な)課題: そこに固定(テープを使用) チャレンジ: 大文字および/または小文字(どちらでもかまいません)と改行のみを含む文字列が与えられた場合、rope垂直に配置して修正します。これを行うには、アルファベット内の2つの隣接する文字の違いを確認し(折り返しを無視して下向きにするだけ)、スペースを必要なだけROPE/ で埋めropeます。 注:この課題と(テープを使用して)修正したThere のもう 1つの重要な違いは、rope今回のようにtape(課題の一部で@JonathanAllanが提案した)のように無駄にしていないことです。 例: 入力: abc bcd ddd eex gfz hka imh 出力: abc bcd Rdd deE efR OPO gEP hRE iOR kO PP mE R O P E R O P E R O x P z a E R O P E R …

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