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

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

30
ナルシシズムの数をテストする
A ナルシシスト数は、独自の数字の和である数は、それぞれの桁数の累乗です。 たとえば、153(3桁)を使用します。 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 挑戦: コードはユーザーからの入力を受け取り、指定された番号がナルシスティックな番号であるかどうかに応じてTrueまたはFalseを出力する必要があります。 テキスト文字列またはその他の無効な入力のエラーチェックは不要です。出力には1または0を使用できます。ナルシスティックな数字のリストを単に生成するコード、またはリストに対してユーザー入力をチェックするコードは、資格がありません。 OEIS A005188

30
ゴルフできますか?
ランダムな18ホールのゴルフコースを生成する必要があります。 出力例: [3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4] ルール: プログラムは、正確に18ホールのホール長のリストを出力する必要があります 各穴の長さは3、4、または5でなければなりません コース全体で穴の長さは最大72になる必要があります プログラムは、ゼロ以外の確率ですべての可能なホール構成を生成できる必要があります(各構成の確率は同じである必要はありませんが、その場合は追加の称賛を要求してください)

30
邪悪な整数を避けてください![閉まっている]
ID番号を生成するためのコードを開発しています。ポリシーでは、ID番号に数字列666が含まれていないことが必要です。 正の整数パラメーターを取り、その整数が10進数で表現されたときに666を含まない次の整数を返す関数(または言語の同等物)を作成します。(60606は大丈夫ですが、66600は大丈夫です。) コードでは、ルールに適合する結果が見つかるまで、ループを追加するループを使用しないでください。 f(1) returns 2. f(665) returns 667. f(665999999) returns 667000000 without having looped a million times. (Following examples added since the question was first posed.) f(666666666) also returns 667000000. f(66600) returns 66700. f(456667) returns 456670. 更新: 入力に複数の666がある場合、666を667に置き換えても機能しません。

21
1P5:ネストされたボックス
このタスクは、最初の定期的なプレミアプログラミングパズルプッシュの一部です。 次の形式でアイテムの階層を取得します。 2 Hat 1 Gloves 次のようにボックスに入れる必要があります: .------------. | Hat | | .--------. | | | Gloves | | | '--------' | '------------' 入力形式では、数字は指定された数のアイテムでボックスを開始します。最初のボックスには2つのアイテム(帽子とグローブが入ったボックス)があり、2番目のボックスには1つのアイテム(グローブ)しか入っていません。 ご覧のように、ボックスもボックス内に配置できます。そして、それらは常に丸みを帯びています...ある種(とがった角は傷の危険であり、私たちはそれを望まないでしょう)。 以下に、仕様が提供するあらゆる小さな余地を活用したい人のための厄介な詳細があります。仕様を読んでいないことは、間違った解決策を提出する言い訳にはなりません。最後にテストスクリプトといくつかのテストケースがあります。 仕様 ボックスは、次の文字で構成されています。 | (U + 007C)は、垂直エッジを構成するために使用されます。 - (U + 002D)は、水平エッジを構成するために使用されます。 ' (U + 0027)は丸い下隅です。 . (U + 002E)は丸い上部の角です。 したがって、ボックスは次のようになります。 .--. | | '--' Unicodeには丸い角と適切なボックス描画文字もありますが、このタスクはASCIIのみであることに注意してください。ユニコードが大好きなのと同様に、過去10年から10年ではまったく到達しなかった言語や環境が存在することを認識しています。 …

30
BIBABOBUデコーダーをゴルフしましょう
将来旅行中に、2275年頃の子供たちの間で面白いゲームに気づきました。彼らは、偉大な偉大な偉大な両親に彼らが言っていることを理解させたくないとき、BIBABOBUを使用します。明らかに、私はサイボーグ以前の頭脳でも何も理解できず、本当に愚かだと感じました(または技術的には感じるでしょう)。そのため、次回の訪問にはデコーダーが必要です。 ビバボブ? 長い間廃止されていますが、ASCIIは2275のポップカルチャーで一般的に使用されており、この言語はASCIIに基づいています。 文字列は、BIBABOBUでそのようにエンコードされます。 すべての文字をASCIIコードに変換します。 各コードの2桁の16進数表現を取得し、次の表を使用して変換します。 0: BI 4: BIDI 8: BADI C: BODI 1: BA 5: BIDA 9: BADA D: BODA 2: BO 6: BIDO A: BADO E: BODO 3: BU 7: BIDU B: BADU F: BODU 例 "Hello!" → 48 65 6C 6C 6F 21 → "BIDIBADI BIDOBIDA …

30
OSは32ビットですか、64ビットですか?
もう重要ではありませんが、時には誰かが知る必要があります。 ここに簡単なゴルフがあります。ユーザーの入力なしで、コードが実行されているコンピューターが64ビットオペレーティングシステムであるか、32ビットオペレーティングシステムであるかを教えてください。 コードが32ビットオペレーティングシステムで実行されている場合は「32」を出力し、コードが64ビットオペレーティングシステムで実行されている場合は「64」を出力します。重要: 32ビットでも64ビットでもない場合、他の空でない英数字の文字列を印刷します。 64ビットオペレーティングシステムを搭載したコンピューターで実行されている32ビットプログラムは、「64」を出力する必要があります。ユーザーは可能な限り64ビットソフトウェアを使用すると想定できます。 エントリーの資格を得るには、コードがWindows 4.10以降の MicrosoftがサポートするWindowsシステム、および選択した少なくとも1つのLinuxフレーバー(そのフレーバーが無償である限り)で実行できる必要があります。プログラムが正しい値を返す限り、互換性modをインストールできます。 通常のコードゴルフ規則が適用されます。 注:あなたの答えが32または64だけを印刷することを意図しており、altケースではない場合、私はそれを受け入れますが、競合する答えではありません。 これらのコードを異なるOSで実行した結果を後で投稿してみます!

15
無味およびその他のバグ
標準のAndroid電卓アプリの一部のバージョンでは、「sin」などのキーを押してから「del」キーを押して「si」にすることができます。おそらく、削除するのが面倒なバグです。 次の文字/文字のグループ化が入力可能です: 罪 si s cos 共同 c 日焼け た t ln l ログ ロ e したがって、ta-stelessのために「tasteless」を入力できます。「c-log-s」のために「clogs」も入力可能です。ただし、「got」は入力可能ではなく、「an」または「xyz」でもありません。 単一の単語(または文字のシーケンス、入力ではazのみ)を入力として受け取り、単語が入力可能かどうかを示す出力を生成するプログラムを作成します。 出力は、単一の文字/文字/数字などです。または、より大きくなる場合があります。入力可能な単語はすべて同じ出力を生成する必要があります。入力不可能な単語もすべて同じ出力を生成する必要があります。 PS好奇心だけで、「無味」は辞書に載っている最も長い辞書の単語ですか?

30
禁止されているビルトイン
では、標準の抜け穴、以下をさ禁じ: 答えが「MyOwnLanguage」で書かれていると主張する場合、コマンドxは「一連の数字を読み取り、3つのグループに分割し、2番目の数字が最初の数字よりも小さいグループの最後の数字を出力する」ことを意味します ここでは、まったく同じことを行います。 仕事 長さが3で割り切れる正の整数のシーケンスが与えられた場合、それらを3つのグループに分割し、2番目の数値が最初の数値よりも小さいグループの最後の数値を出力します。 テストケース Input Output [] [] [1,2,3,4,5,6,7,8,9] [] [2,1,3,5,4,6,8,7,9] [3,6,9] [3,1,4,1,5,9,2,6,5] [4] [100,99,123] [123] [123,123,456] [] [456,123,789] [789] 得点 これはcode-golfです。バイト単位の最短回答が優先されます。 標準の抜け穴が適用されるため、xこのタスクを実行する組み込みコマンドを使用しないでください。

30
何ビットで収まるのか
正の32ビット整数(1 ≤ n ≤ 0xFFFFFFFF)出力の場合、その整数を表すのに必要なビット数。 テストケース | n | n in binary | bits needed | |----------------------------------| | 1 | 1 | 1 | | 2 | 10 | 2 | | 3 | 11 | 2 | | 4 | 100 | 3 | | 7 | 111 | …
52 code-golf  binary 

30
それはリポグラムですか?
リポグラムは、特定の記号を省略した単語のブロックです。現在、私は一般的に現れる26の5番目のシンボルを避けています。私が何を省略しているのか、今では知っているはずです。そうでない場合は、「リポグラム」を調べてください。 あなたのタスク 入力にchar、空白、およびそれに続く文字列(これに空白が表示される場合があります。ASCII32-126文字のみ)を使用すると、この文字が入力文字列に含まれる場合は出力が偽になります。探す必要のあるこの文字は、常に「A」から「Z」または「a」から「z」の2つの範囲に収まります(ASCII 65-90、97-122)。大文字と非大文字を区別しないでください。また、空白や句読記号について心配する必要はありません。プログラムと関数の両方が満足します。また、プログラムまたは関数の入力文字と文字列を2つの引数に分割できます。最初の引数としての文字列は問題ありません。 イラスト 真実の e This is a lipogram. a You need to consider other letters too. E Capitals also count. 偽物 e This sentence is not a lipogram (for e). t This particular letter is surprisingly hard. A You don't need to care about any non-alphabetic symbols. …

3
キッシュロレーヌ[閉店]
最近はPiの日だったので、piを計算するように要求する多くの課題に気付きました。 もちろん、キッシュロレーヌは単なるパイではありません(タイトルからチャレンジを推測した場合、+ 1のボーナススコア¹を請求できます)。そのように、あなたの仕事をすることであるアルゴリズムの書き込みや方法をことルックスことなどが一目見ただけでパイを近似しているが、ない収束することが保証さ Piを向けました。 これは手に負えない課題なので、たとえば、アルゴリズムを10回繰り返して、簡単なテストケースで3.14 ...を出力するようにしてください。これは人気の課題でもあるため、echo(pi)IEEE 754浮動小数点は一部の桁を切り上げまたは切り捨てると言うのは明白です。 勝者はキッシュlorraine²を獲得します。 ¹警告:実際にはボーナススコアではありません。スコアを請求することにより、2016年のPi Dayの前にパイを焼くことに同意したことになります ² 警告:キッシュロレーヌは、回答を「承認済み」としてマークするための隠metaとして使用されます

24
YなしでXを行う
通常、「YなしでXを実行する」ことは、初心者が課題を書くためのtrapになる可能性があると言われています(ソース)。しかし、私は生意気で、YなしでXを確実に作成できると思います。無作為に。ええ、これは良いでしょう。 課題:n 1以上の奇数の整数が与えられた場合、n「y」と「Y」以外のランダムに印刷可能なASCII文字で構成される辺の長さのex とスペースを出力します。すべての許可されたキャラクターは、ゼロ以外の確率で出現する必要がありますが、必ずしも均一ではありません。これはコードゴルフなので、バイト単位の最短コードが優先されます。ただし、各文字をランダム化する必要があります。つまり、偶然の場合を除き、exのストラットは等しくないはずです。 表示される文字 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~" exの構築 辺の長さ1: x 辺の長さ3: x x x x x 辺の長さ5: x x x x x x x x x 等 出力例 input output empty line 3 h 2 ^ 9 5 1 : 5 D 1 W z W q j W 1 実装例 …

30
nとn ^ 3は同じ数字のセットを持っていますか?
数値n(0 <= n <= 2642245)が与えられた場合、nとn 3が同じ数字のセットを持っているかどうかを確認し、それに応じて真偽値を出力します。 たとえば、100という数字を確認しましょう。 100 3は1000000です。 100の数字のセットは{0、1}です。 1000000の数字のセットは{0、1}です。 したがって、100は真実の値を与える必要があります。 テストケース 0 -> True 1 -> True 10 -> True 107624 -> True 251894 -> True 251895 -> False 102343 -> False これはcode-golfであるため、バイト数が最も少ないコードが優先されることに注意してください。 OEIS A029795

9
Hexagonyソースコードの展開
前書き Hexagonyに詳しくない場合は、MartinBüttnerによって作成された難解な言語です。問題は、この言語がプログラムの複数のフォームを受け入れることです。次のプログラムはすべて同等です。 abcdefg そして a b c d e f g したがって、基本的に、コードは通常の六角形にまとめられています。ただし、コードに新しいコマンドを追加するとabcdefgh、次のプログラムが作成されることに注意してください。 a b c d e f g h . . . . . . . . . . . ご覧のとおり、最初のステップはコードを六角形にロールアップし、その後、六角形は.次の中央の六角形の番号に何もしない()で埋められます。 タスクは単純です。文字列(ソースコード)を指定すると、六角形のソースコード全体が出力されます。 ルール プログラムまたは機能を提供できます。 先頭の空白は許可されますが、六角形の形が崩れない場合のみ 末尾の空白は許可されます。 プログラム内の空白は無視されることに注意してください。だから、a b cに等しいですabc 印刷可能なASCII文字(32 - 126)のみが使用されるため、通常のSpace文字のみが無視されます。 文字列の長さが0より大きいと仮定します。 これはcode-golfであるため、バイト数が最小の提出が勝ちです! テストケース Input: ?({{&2'2':{):!/)'*/ Output: ? …

7
ロボットが子猫を見つける
挑戦 ロボットが可能な限り少ないステップで子猫を見つけるのに役立つ文字数による最短コード。 ゴルファー、これは危機の時です-子猫が行方不明になり、それを見つけるのはロボットの仕事です!ロボットは最短距離で子猫に到達する必要があります。しかし、ロボットのやり方には多くの障害があり、彼はあなたに彼のために解決策をプログラムする必要があります。 以前はロボットがプログラムを実行させていましたが、そのプログラムは失われ、ロボットにはバックアップがありません:(。 ロボットのランタイムは最適ではなく、ロボットがソースコードから読み取る必要のある文字数が少なく、処理に費やす時間が最短であるため、子猫がより早く見つかります。 ロボットのメモリには、現在の場所の地図が含まれており、上部は北、下部は南、右は東、左は西を表しています。ロボットは常に、壁に囲まれた未知のサイズの長方形の部屋にあり、#レーダーマップで表されています。ロボットが入ることができる領域は、スペースで表されます。 ロボットのレーダーは、部屋の多くの障害物もスキャンし、さまざまなASCII文字でマークします。ロボットはこれらの障害物を横断できません。レーダーは子猫を特別なASCII文字としてマークし、Kロボットの位置はでマークされRます。 ロボットのナビゲーションシステムはこのように動作します。彼は、移動する方向と移動ユニットの数のデュオを理解できます。たとえば、N 3「北3移動ユニット」を意味します。ロボットのレーダーマップは、移動単位が1つのASCII文字になるように作成されます。ロボットは4方向にのみ移動でき、斜めに移動することはできません。 勇敢な子猫セーバーであるあなたの仕事は、ロボットのレーダーマップを1回読み取り、最小の移動単位移動距離で、最小量の方向を出力することです。ロボットには、子猫へのパスが少なくとも1つあることが保証されています。 ロボットが子猫を見つけるのに役立たない誤動作プログラムを実行する時間を無駄にしないように、勇敢な子猫のセーバー、ロボットの過去のプログラムのこの出力を使用して、子猫を見つけるのに時間を無駄にしないことをお勧めします! テストケース Input: ###################### # d 3 Kj # # # # R # # q # ###################### Output: E 13 N 2 Input: ###################### # d r 3 Kj # # p p # # T X # # …

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