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

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

13
ユニークな素数の組み合わせ製品
問題の声明 一意の連続する素数(必ずしも2を含まない)のセットが与えられた場合、これらの素数の最初のべきのすべての組み合わせ(たとえば、繰り返しなし)と1の積を生成します。たとえば、{ 7}、{1、2、3、5、6、7、10、14、15、21、30、35、42、70、105、210}を生成します: 1 = 1 2 = 2 3 = 3 5 = 5 6 = 2 x 3 7 = 7 10 = 2 x 5 14 = 2 x 7 15 = 3 x 5 21 = 3 x 7 30 = 2 x 3 x 5 …

3
レーザーでそれらを破壊する
前書き アリーナは、敵がカバーするために使用する高層ビルが点在する平地です。あなたとあなたの敵はレーザーでお互いを撃ちます。全員がジェットパックを携帯し、飛行を許可します。 どの敵にレーザーを当てることができ、どの敵に隠れていますか? 問題 最初に、アリーナのサイズは、n1行の整数で指定されます。次のn行にはn、行ごとにスペースで区切られた整数が含まれています。各整数は、その場所の建物の高さを表します。各建物は長方形の固体で、1単位×1単位、高さ単位です。 次に、あなたの場所は、3つの浮動小数点数として単一の行に与えられていますx、y、z。 最後に、敵の数はm1行の整数で与えられます。次のm行には、行ごとにスペースで区切られた3つの浮動小数点数が含まれています。これらは表し x、yとz敵の座標を。座標系は次のように定義されます。 x 都市入力で左から右に測定されます y 上から下に測定されます z ゼロから測定されます 敵ごとに、妨害されていない線があなたからその敵に引ける場合、正の整数を出力します。それ以外の場合は、負の整数を出力します。出力を新しい行で区切ります。 サンプル入力 「#」で示されるコメントは、各行が何をするのかをすばやく確認するのに役立ちます。実際の入力には存在しません。 5 # Size of the map 0 0 0 0 0 # Buildings 0 0 0 0 0 # Buildings 4 4 4 4 4 # Buildings 0 0 0 0 0 # …
21 code-golf 

7
完全に偽の再起動[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 この挑戦は簡単です。コンピューターの完全な再起動のように見えるコードを作成します。実際の再起動ではないことを示す画面に何も表示してはならず、再起動後に表示される通常のログイン画面で終了する必要があります。 ルール。 模倣したいOSを選択できます。たとえば、Windowsまたは選択した他の組み合わせからLinuxを再起動できます。 このコードは、完全なシャットダウン/再起動シーケンスを全画面で表示する必要があります。 これは人気コンテストなので、涼しいほど良いです。 実際には、コードは完全に無害で、再起動を行わず、いつでも簡単に終了できる必要があります。 再起動をよりリアルに見せるために外部イメージを使用する必要がある場合、コードはそれらをWebから自動的に取得する必要があります。 コードは自己完結型であり、標準の無料のライブラリまたはツールのみに依存し、提供する指示に従うことで簡単に実行できる必要があります。 がんばろう! 人気コンテストなので、2014年6月1日に投票数が最も多い回答に勝ちます。 質問を絞り込むためのリクエストに続いて、追加のルールがあります。 システムは、Windowsのすべてのバージョン、またはLinuxまたはOS XのMint、Ubuntu、Debian、Fedora、Archlinux、またはMageiaのディストリビューションを模倣する必要があります。 興味のある人は、xtermで起動する場合でもフルスクリーンを使用するためのいくつかの方法が提案されているPitch dark(Earth Hourの記憶)を見たいと思うかもしれません。

3
星条旗のコードチャレンジ
アメリカ合衆国の旗には、カントンに50の州を表す50の星が含まれています。 過去には、州の数が少なかったとき、もちろん星の数も少なく、それらの配置も異なっていました。たとえば、1912-1959年(ニューメキシコとアリゾナの入国後、アラスカの前)からは、6×8の長方形に48個の星がありました。 1867-1877年から使用された37星旗(ネブラスカ州の入場後、コロラド州の前)には、非対称の星の模様がありました。 将来51番目の州が追加される場合、ヘラルドリー陸軍研究所はすでに新しい旗の予備設計を開発しています。 しかし、星を配置するための一般的なアルゴリズムはないので、作ってみましょう! チャレンジ 所定の数の星が米国旗のカントン(青い部分)に配置されるように、それらの星を配置する最適な座標を出力するプログラムを作成します。 座標系は、カントン【で定義されていない 0≤x≤Wと0≤y≤Hと全体としてフラグ]。 この課題の目的のために、「最適な」配置は、カントン内のポイントと最も近い星の中心との間の平均(ユークリッド)距離を最小化するものとして定義されます。 この値を近似するための簡単な(最適でない場合があります)アルゴリズムは次のとおりです。 def mean_distance_to_nearest_star(stars, width, height, point_density=100): """ Approximate the mean distance between a point in the rectangle 0 < x < width and 0 < y < height, and the nearest point in stars. stars -- list of (x, y) …

10
ルアでのゴルフのヒント
ルアでゴルフをするための一般的なヒントは何ですか?私は、少なくともLuaに特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントを削除する」は答えではありません)。回答ごとに1つのヒントを投稿してください。
21 code-golf  tips  lua 

11
クロスマッチング正規表現
ここでのタスクは、2つの正規表現を作成することです。各正規表現は、他の正規表現と一致しますが、それ自体とは一致しません。 両方の正規表現には、次の形式が必要です。 /pattern/optional-flags これは、それらが一致する形式でもあります。 最短のソリューションが勝ちます。ソリューションの長さは、スラッシュとフラグを含む両方の正規表現の文字の合計としてカウントされます。 違いがある場合は、選択した正規表現構文標準を使用するか、プログラミング言語を指定します。 楽しむ!

18
指定された配列で最も近い数を見つける
これは、私が抱えていた現実の問題に触発されました。これについて賢明な方法があるかどうか見てみたい。 並べ替えられていない2つの配列AとBが与えられ、それぞれに任意の数のfloatが含まれています。AとBは必ずしも同じ長さではありません。Aの要素を順番に受け取り、配列Bで最も近い値を見つける関数を作成します。結果は新しい配列に含まれる必要があります。 勝利条件 最短のコードが勝ちます(通常どおり)。

6
ハノイの塔
ハノイの塔スタイルの整数のリストをソートする関数/サブルーチンを記述します。 整数のスタックが与えられます。これがメインスタックです。 また、さらに2つのヘルパースタックが提供されます。ただし、これらのヘルパースタックには固有のプロパティがあります。すべての要素は、その下の要素よりも小さいか、同じサイズでなければなりません。メインスタックにはこのような制限はありません。 メインスタックを所定の位置に並べ替え、最大の整数をその下に配置する必要があります。関数/サブルーチンは、スタックのソートで行われた移動の数(または同等の)を返します。 注:メインスタックを所定の場所に並べ替える必要があります。別のスタックに並べ替えて、その答えを呼び出す必要はありません。ただし、何らかの理由でそうできない場合は、可変スタックをシミュレートできますが、これはハノイの塔の並べ替えであることに注意してください。ペグは3つのみで、順序付けられていないペグは1つだけです。 関数/サブルーチンはいつでもスタックを検査できますが、ポップとプッシュによってのみ移動できます。シングルムーブとは、あるスタックから別のスタックにプッシュされるポップです。 最初の6つの自然数の順列ごとに関数/サブルーチンをテストします。言い換えれば、関数/サブルーチンをテストします{1},{2},...,{6},{1,1},{1,2},...,{1,6},{2,1},...(これは合計または可能性があるはずです(数学を修正してくれたハワードに感謝します))。要素を最小の回数だけ移動する関数/サブルーチンが勝ちます。61+62+...+6655986

16
電話のマルチタップスペルチェック
Google Code Challengeに触発された: ラテンアルファベットには26文字が含まれ、電話のキーパッドには10桁しかありません。キープレスのシーケンスを使用して目的の文字を示すことで、友人へのメッセージを簡単に書くことができます。以下に示すように、文字は数字にマッピングされます。たとえば、文字Bを挿入する場合、プログラムは22を押します。同じキーから2文字を連続して挿入するには、ユーザーはキーをもう一度押す前に一時停止する必要があります。一時停止を示すには、スペース文字「」を印刷する必要があります。たとえば、2 2はAAを示し、22はBを示します。 各メッセージは、小文字a〜zおよびスペース文字 ''のみで構成されます。ゼロを押すとスペースが放出されます。 あなたの挑戦は、入力文字列を受け取り、入力を文字列として生成するか、標準出力に出力するのに必要なキー押下のシーケンスを返す最小の関数を書くことです。最小のバイト数である関数が優先されます。 入出力の例 phone("hi") 44 444 phone("hello world") 4433555 555666096667775553 その他の説明 一時停止は必要な場合にのみ追加し、スペース「」にする必要があります。 各メッセージは、小文字 a〜zおよびスペース文字 '' のみで構成されます。印刷0してスペースを示します。 外部ライブラリはありません。 入力文字列のみが関数に渡されます。 他の言語の競争力を高めるために、主要な関数宣言は考慮されず、他の標準ライブラリのインポートも行いません。#includes、imports、およびusingsはカウントされません。他のすべてが行います。これには、#definesおよびヘルパー関数が含まれます。混乱している場合は、この質問のルール2を参照してください。 複数のスペースは、スペースとして一時停止する必要がないため、00または0 0
21 code-golf 

5
彼女は吹く!
Arrr ...アホイあそこ、私仲間!メインセールを展開!右boardいっぱい!ああ、あなたの髪に風を感じてください! そう、私は心のこもった...ちょっとしたスキルが必要なんだ!私の乗組員は自分よりも現代的です... 私の乗組員は常に先頭に立っていますが、コンパスのポイントを優先しています(詳細はこちらを参照してください、Arrr ...)。 。私は、彼らが私が理解できるものにヘッディンを呼んでいる、このたたきを変換する簡単な方法です。 私が必要としているのは、コードを入力することです(0 <= the headin' < 36010進数でも大丈夫です)tha ' を入力し、最も近いコンパスポイントとしての答えを吐き出します!あら! 以下に例を示します。 > heading 0.1 North > heading 11.25 North by East > heading 22.7 North Northeast > heading 44.99 Northeast > heading 91 East さて、もしあなたが 'ヘッディン'であるなら、それがまさに2つのコンパスポイントの真ん中に収まるようなものであるなら、 'あなたがたはフレットである'、私は心から...私はコードを吐き出すことを期待していますBetween <point 1> and <point 2>例えばはheading 5.625言うだろうBetween North and North …
21 code-golf  math 

30
32ビット整数の逆ビット順序
32ビット整数のビット順序を逆にするには、最短のコードを記述します。 ルール: ご使用の言語が数値(Windows Batchなど)をサポートしていない場合、入力は有効な整数または文字列に相当すると見なされます。 言語が数値をサポートしていない場合(Windows Batchなど)、出力は有効な整数または文字列に相当する必要があります。 標準ライブラリのみ。 関数または完全なプログラムの場合があります。 入力は、from stdinまたはfunction引数としてのいずれかです。 出力は、stdoutまたは戻り値としてのいずれかでなければなりません。 ご使用の言語に1ステップでこれを行う組み込みまたは標準ライブラリ関数がある場合(rbitARMアセンブリなど)、それは使用できません。 例: キー: 小数 バイナリ (逆) 逆バイナリ 10進出力 例: -90 (デモ用の8ビットの例) 10100110b (逆) 01100101b 101 486 00000000000000000000000111100110b (逆) 01100111100000000000000000000000b 1736441856 -984802906 11000101010011010001100110100110b (逆) 01100101100110001011001010100011b 1704506019 注:省略は無料ゲームです。私がそれを言わなかった、そしてそれが標準的な抜け穴の 1つではないなら、それは完全に許可されています。

13
F#でのゴルフのヒント
F#でゴルフをするための一般的なヒントは何ですか?私は、少なくともF#に特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。回答ごとに1つのヒントを投稿してください。
21 code-golf  tips  f# 

21
こんにちは世界!!!フィボナッチ分布
プログラムは正確に出力する必要があります:Hello world!!!改行ありまたは改行なし。 プログラムには何も入力しないでください。 ソースコードの文字分布は、次の条件に従って正しくなければなりません。 数字の数(0-9)は、正確に1つのフィボナッチ数列でなければなりません。 ソースコード内のその他の数字以外の文字!(0-9)の数は、上記のフィボナッチシーケンス番号の前のフィボナッチシーケンス番号でなければなりません。 ソースコード内の有効な文字分布の4つの例: 13桁の数字、8桁の非数字。 34桁の数字、21桁の非数字。 数字55文字、数字以外の文字34文字。 89桁の数字、55桁の非数字。 これはコードゴルフで、バイト単位の最短コードが勝ちです!がんばろう! 編集:この質問は、コードゴルフであることに加えてソースコードのサイズに制約があるため、受け入れられる回答(複数のシェアが同じ勝利キャラクターの長さである場合)は、投票数が多く(文字数が最小)回答になります。 03-01。

6
最短のコードを使用してマトリックスデジタルレインを作成する[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 閉じた3年前。 ルール: 選択した言語(標準ライブラリ)。 ターミナルまたはWindowsコマンドプロセッサ、またはその他の方法で表示される出力。(幅バッファ= 80) ASCII文字で十分です。(Unicodeを追加できます) 起動時に画面全体を埋めてはいけません(雨のように見えるはずです!)。 色はボーナスポイント(+5)を獲得します。 効果:ランダムなキャラクター、さまざまな落下サイズ、定期的に再生します。 ポイント:(更新) +32ポイントから始めます。 ** 1024 *** th *バイトの後のコード内のすべてのバイト(charsではない)に対して-1ポイント。 ポイントはゼロおよびマイナスに達する可能性があります。 注:マルチバイト文字を使用する言語は、文字ではなくバイトをカウントする必要があります。 新しいエフェクトごとに+5。(他の人によって投稿されていない) これらの効果のいずれかで+15: 風(キャラクターを横に吹く) Number Matching(ユーザー入力、例:90210): 数値はマトリックス内でランダムに配置されます 音 Encrypted msg(user input): 文字は、暗号化された秘密のメッセージを表します ガラガモード: キャラクターを破壊するために^を発射 スコアボード: ┌-----┬------------┬------------┬-------------┬---------------┬--------------┐ | pos | name | type | bytes | effects …

23
誕生日おめでとう!
誕生日おめでとう! Happy birthday to me!誕生日に印刷するプログラムを作成します。 プログラムの誕生日は、プログラムの作成、最終変更、またはコンパイル時(選択)であり、ハードコーディングしてはなりません。 誕生日として使用する日付は、プログラムの呼び出しや実行の影響を受けてはいけません。誕生日を変更することはできません。 追加のクレジット(-15%バイトカウント)の場合、プログラムと一致しない場合はHappy birthday to you!、誕生日(ハードコード)に印刷します。または、有名人の誕生日を使用して、-14%を獲得します。 これのみを印刷し、他の日には何も印刷しないでください。 UTF-8でバイトをカウントします。 グレゴリオ暦を使用します。 幸運とお誕生日おめでとう(新生児プログラムへ)。 PS Izkataのコメントに続いてHappy birthday to Mel、Mel Kayeの誕生日に印刷すると、20%オフになります。しかし、あなたはそれがこの日付であるという信頼できる情報源を提供しなければなりません。
21 code-golf 

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