プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

11
スタック交換の評判を計算する
バックグラウンド: Stackexchangeサイトを閲覧しているときに、人々が自分の評判をどのように得るのか疑問に思うことがよくあります。私は自分の問題を解決するためにいつでもcodegolf SEに頼ることができることを知っているので、ここにあります: 人の評判を表す正の整数を受け入れるプログラムを作成します。報奨金は無視し、SEの担当者を獲得/失う唯一の方法であると言います(フルテーブルこちら)。 すべてのアカウントは1人の担当者で始まり、その下に行くことはできません あなたの質問は支持されています= +5 あなたの答えは支持されています= +10 あなたの質問はdownvoted = -2 あなたの答えはdownvoted = -2 答えをダウンボット= -1 あなたの答えは受け入れられます= +15 回答を受け入れる= +2 プログラムは、そのユーザーのアカウントで発生したアクションの数を把握して、担当者に連絡する必要があります。このレベルの担当者に到達するには、アクションの最短数を把握する必要があります。例: 入力:11出力:1回答アップ投票 入力:93出力:6つの回答が受け入れられ、1つの回答が受け入れられます これらの例で私が「質問への賛成票」と言うとき、それはその人の質問が賛成票を得たことを意味します。私が「答える」と言うとき、それは彼らが誰か他の人の答えを下げることを意味します。 ルール: code-golfなので、これを実行できる最短のコードが優先されます。
13 code-golf 

3
nをd tic tac toe win-checkerに作成します
n d tic tac toeゲームで誰が勝ったかを確認する最短のプログラムを作成します。 n(幅)とd(次元数)が次の範囲にある場合、プログラムは動作するはずです。 n∈[3,6]∩ℕ ie a number from this list: 3,4,5,6 d∈[2,5]∩ℕ ie a number from this list: 2,3,4,5 n = 3; d = 2(3 2すなわち3 x 3): [][][] [][][] [][][] n = 3; d = 3(3 3すなわち3 x 3 x 3): [][][] [][][] [][][] [][][] [][][] …

5
他のコードでBrainf ***グリーティングを非表示にします
目標は、Barney Stinsonの最良の規則を出力するプログラム(明示的なBrainfuck以外のすべて)を作成することです。 新しいものは常に優れています。 正常に解釈されるとき、しかし Legen ...それを待って...日陰だ! Brainfuckインタープリターで処理される場合。 最も人気のある仲間が勝つように。伝説になるまで72時間あります。

28
整数のn桁目を出力します
文字列を使用せずに(入力や出力などの必要な場合を除き)、整数の(10を底とする)左から n番目の桁を計算します。 入力は次の形式で提供されます。 726433 5 出力は次のとおりです。 3 それは「726433」の5桁目です。 入力には、先行するゼロは含まれません(例: "00223")。 テストケース/その他の例: 9 1 -> 9 0 1 -> 0 444494 5 -> 9 800 2 -> 0 これはコードゴルフです。最小の文字数が勝ちますが、「nthDigit(x、n)」などの組み込み関数は受け入れられません。 始めるための擬似コードを次に示します。 x = number n = index of the digit digits = floor[log10[x]] + 1 dropRight = floor[x / 10^(digits - n)] …
13 code-golf  math 

12
あなたの好きな言語でバレンタインの願い事をしてください[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 あなたのバレンタインの願いをあなたの好きなプログラミング言語に表示するための最も創造的なプログラムをその言語で書いてください。 例えば #!/usr/bin/perl use Modern::Perl; say "I love Perl";

11
パターンに従うすべての時間を見つける
あなたの仕事は、次のパターンのいずれかに従うすべての時間(HH:MM形式で24時間)を印刷するプログラムを作成することです。 時間は分に等しい、例えば22:22,01:01 逆の時間に等しい時間(例:10:01、01:10、22:22) H:MMまたはHH:MMに一致するシーケンスは、常にHH:MMで印刷されます。例:00:12、01:23、23:45、03:45など(数字の間は常に1ステップ) ルール: 好きな言語を選択できます 繰り返し印刷することはできません 日ごとに1行に1回 勝者は2月5日に選ばれます。 PS:これは私の最初の質問です、いくつかの矛盾があるかもしれません。編集してください。 PS2:予想される44のソリューションをご紹介します(すでにJoshとprimoから提供されています、ありがとう!) 00:00 00:12 01:01 01:10 01:23 02:02 02:20 02:34 03:03 03:30 03:45 04:04 04:40 04:56 05:05 05:50 06:06 07:07 08:08 09:09 10:01 10:10 11:11 12:12 12:21 12:34 13:13 13:31 14:14 14:41 15:15 15:51 16:16 17:17 18:18 19:19 20:02 20:20 21:12 …

19
さようなら、世界![閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 自分自身を消去するプログラムを作成します。正確な動作は実装定義である場合がありますが、ベストエフォートベースで実行する前に、プログラムが保存されているファイルを削除する試みを最小限にする必要があります。 これは人気コンテストですので、最も多くの賛成票を獲得した方が勝者となります。

14
長方形の擬似フラクタル
ゴール プログラムの目標は、水平と垂直を交互に繰り返して、サイズが2倍になったASCIIアート長方形を描くことです。長方形のサイズが2倍になるたびに、余分な領域は異なる文字で表され、以前の領域は変更されません。最小の2つのセクションにはそれぞれ1文字が含まれており、どのコーナーにあってもかまいません。 プログラムは入力として単一の整数を受け入れ、完全な長方形に含まれるセクションの数を定義します。 他の外部リソースまたは入力は許可されません。 サンプルの入力と出力 10 ABDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ CCDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ 選択基準 1週間で最短のコードがポイントを獲得します。

30
整数の出現回数をカウントする[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 質問2を含む1,000,000未満の正の整数はいくつですか?。私はからInteger XをY含むまでのすべてのInteger をカウントする最も創造的なソリューションを探していZます。 Z0〜の範囲で指定できますY。 整数Zがより頻繁に表示される場合でも、見つかったすべての整数は1回だけカウントされます。例えば: Z = 2 123 counts 1 22222 also counts 1 Javaで書かれた本当にシンプルなアルゴリズムから始めます(みんなに愛されているからです): public class Count { public static void main(String[] args) { int count = 0; for (int i = Integer.parseInt(args[0]); i <= Integer.parseInt(args[1]); i++) { if (Integer.toString(i).contains(args[2])) { count++; } } System.out.println(count); …

30
数字のリストを奇数および偶数カテゴリーに分類する最短プログラム
New Modern Timesでは、チャーリーチャップリンがコンピューターに遭遇すると、作業員がアイテムを正しく並べ替えているかどうかを確認するための検証者として、並べ替えヤードで雇用されています。問題のアイテムはビー玉のパケットです。奇数のビー玉を持つパケットは赤いバスケットに積み上げられ、偶数のビー玉を持つパケットは青いバスケットに積み上げられます。 チャーリー・チャップリンは、ソート手順に異常があるかどうかを検証するプログラムをパンチすることになっています。マック・スウェインは彼の直属の上司であり、彼がコーディングする必要があるアルゴリズムを共有しています。 アルゴリズム L = List of Marble packets that's already sorted L_ODD = List of packets with Odd Number of Marbles L_EVEN = List of packets with Even Number of Marbles Check_Digit = √(ΣL_ODD² + ΣL_EVEN²) 彼の仕事は、Check_Digitを決定し、上司が計算した値と照合することです。 チャーリーチャップリンは昼食時にマックスウェインの引き出しに忍び込み、彼の引き出しには最初の46 32列にパンチのある1枚のカードがあると判断できました(つまり、マックは46 32文字しかプログラムを書くことができませんでした)。 チャーリーチャップリンは、できる限り少ない行でプログラムを作成するために、すべてのコード忍者の助けが必要になります。彼はまた、誰かが自分のボスよりも短いプログラムを思い付くことができる場合、50ポイントのボーナスを発表します。 概要 正の数のリスト/配列/ベクトル(奇数および偶数)を指定すると、関数を記述する必要があります。 array(int [])/vector<int>/listの合計の平方和を計算するルートを計算。 プログラムのサイズは、関数の本体のサイズです。つまり、関数シグネチャのサイズは除外されます。 例 …

3
Brainfuckコンパイラを書く
Brainfuckプログラムを取得し、実行可能なマシンコードにコンパイルするプログラムを作成します。x86、x86_64、jvm(javaバイトコード)またはarmv6をターゲットにし、ELF、a.out、クラスファイル、exe、comの実行可能形式のいずれかを使用できます。実行可能ファイルは、LinuxまたはWindows(またはJavaのいずれか)で動作するはずです。 プログラムも生成された実行可能ファイルも、外部プログラム(別のコンパイラ、アセンブラ、インタプリタなど)を実行することはできません。 最短のコードが優先されます。

11
BBC Micro owlロゴのバージョンをレンダリングする
上記のコードからBBC Micro Owlロゴのバージョンをレンダリングできますか? ルール: 好きなプログラミング言語を使用できます。 出力はテキストまたはグラフィックにすることができます。 円は重なり合う必要はありません。 勝者: 最も賛成票が多い答えが勝ちです。 BBCベーシックでこれを試みた人への称賛。 BBC Microについてはこちらをご覧ください

2
Goボードで動きます
Goゲームのボードポジションとプレイの動きが与えられます。移動が合法であるかどうか、合法である場合は新しいボードの位置を出力する必要があります。 Goの動きの簡単な説明:ゲームは、正方形のボードの空いている場所に黒と白のピース(「ストーン」)を交互に配置することで構成されています。互いに接続されている同じ色の部分のセット(4方向)はグループと呼ばれます。グループに隣接する空の場所(4方向)は、そのグループの「自由」と見なされます。自由度が0のグループがキャプチャされます(ボードから削除されます)。1つ以上の敵のグループをキャプチャしない限り、自身のグループをキャプチャする(「自殺」)移動は、違法です(実際にキャプチャされないようにプロセスで自由を得ます)。 関係者にとっては、ko(およびsuperko)に対処する必要はありません。つまり、koキャプチャは合法であると想定できます。それが何を意味するのかわからない場合は、上記のルールに従うだけで問題ありません。 入力:ボードサイズを表す2から19までの数字n、それに続くボード位置を表す0から2までのn数字のn行、スペースで区切られた3つの数字、続く移動を表します。ボードの位置では、0は空の場所、1は黒い石、2は白い石を意味します。この移動により、配置する石の列、行、および色(1または2)が得られます。列と行は0から始まり、範囲は0〜n-1(両端を含む)で、ボード入力と同じ順序でカウントされます。 与えられた役員の地位は合法であると仮定できます(すべてのグループには少なくとも1つの自由があります)。 出力:移動が合法であるかどうかに応じて1または0(または必要に応じてtrue / false)を含む行に続いて(合法的な移動の場合のみ)入力と同じ形式で新しいボード位置が続きます。 スコア:完全なソースコードのバイト数。小さいほど良い。非ASCII文字を使用した場合は20%の追加ペナルティ、無料で入手できるソフトウェアを使用してLinuxでコードをテストできない場合は20%の追加ペナルティ。 ルール:ネットワーク接続もサードパーティライブラリもありません。プログラムは、標準の入力および出力ストリーム、またはプログラミング言語に相当する標準を使用する必要があります。 例: 1) Input: 2 10 01 1 0 2 Output: 0 2) Input: 2 10 11 1 0 2 Output: 1 02 00 3) Input: 5 22122 22021 11211 02120 00120 2 1 1 Output: 1 00100 00101 11011 02120 …

23
アルファベット順で文章を表示
文字列を受け取り、すべての文字をアルファベット順に出力するプログラムを作成します。スペースと記号は無視または削除できますが、大文字と小文字は同じ大文字のままにする必要があります。 サンプル入力: Johnny walked the dog to the park. サンプル出力 aaddeeeghhhJklnnoooprtttwy ルール: • どんな言語でも •最短のコードが優先されます。
13 code-golf 

7
モールス符号を標準出力に
この質問は、モールス信号の入力をとして取ります。(ピリオド)と-(マイナス記号)。入力を区切るスペースがあります。あなたの仕事は、コードを標準出力に変換することです。http://en.wikipedia.org/wiki/Morse_code#Letters.2C_numbers.2C_punctuationにある国際モールス符号アルファベットの文字記号のみが入力に含まれていると想定できます。 すべての出力には小文字を使用する必要があります。ダブルスペースは、ワードスペースとして解釈する必要があります。 サンプル入力: . -..- .- -- .--. .-.. . .-.-.- ... --- ... 出力: example. sos 2週間後の最短コードが勝ちます。

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