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

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

5
オオカミと鶏
川があり、川の片側にはオオカミと鶏がいます。彼らはいかだを持っており、彼らはすべて反対側に到達する必要があります。ただし、いかだは単独では移動できません。3匹以上の動物が乗っていると、いかだは沈みます。川は寒くて汚いので、動物は誰も濡れません。どの動物も川を飛び越えたり、飛ぶことはできません。また、片側に鶏がいる場合、その側に鶏がいるよりも多くのオオカミがいることはできません-その後、オオカミは鶏を食べることにします。つまり、いかだに乗った2匹のオオカミを1羽の鶏と一緒に横に連れて行くことはできません。 あなたのタスクは、入力としてオオカミの数とニワトリの数(オオカミの数以上)を受け取り、いかだが川を横切る必要がある最小回数を見つけるプログラム/関数を作成することです。タスクが不可能な場合、プログラム/関数は空の文字列を出力/返す必要があります。次に、これが次のように行われる方法に関する1つのメソッドを出力/返します。 W if a wolf crosses the river on its own C if a chicken crosses the river on its own CW if a chicken and a wolf cross the river -- WC is also fine CC if two chickens cross the river WW if two wolves cross the …

19
文字列をしゃっくり
あなたの挑戦は、文字列をしゃっくりするプログラムや関数を書くことです。文字列を入力として(標準的な方法を介して)受け取り、次の手順を実行します。 1〜10の(必ずしも均一ではない)ランダムな整数nを生成します。 n秒待ちます。 入力の最初/次のn文字を印刷します。n文字未満の場合は入力の残りを印刷します。 印刷する入力が残っている場合は、手順1に戻ります。 ルール 入力は常に、ASCII文字(32-126)のみを含む空でない文字列になります。 待機時間は正確にn秒である必要はありませんが、nの 10%以内でなければなりません。 テキストのセクションが印刷されるたびに、末尾の改行を印刷できます。 例 ここのスペースは1秒を表します。入力がのHiccupinator!場合、出力は次のようになります。 Hic cupin a tor! 得点 これはcode-golfなので、バイト単位の最短コードが勝ちます。
16 code-golf  string 

10
ベイリー–ボルワイン–プルフの反復
ベイリー–ボルワイン–プルフの反復 PPCGにはいくつかのpiチャレンジがありますが、使用するアルゴリズムを具体的に指示するものはありません。繰り返しまでのあらゆる言語でのベイリー・ボルワイン・プラウフアルゴリズムの実装を確認したいと思いますn。式は次のとおりです。 アルゴリズムは、nまでの各反復を出力し、中間の合計と「三角形」を形成する最終結果を表示する必要があります。また、ウィキペディアのページに示されているアルゴリズムの縮小多項式形式を使用することもできます。の実行例をn=50以下に示します。 3 3.1 3.14 3.141 3.1415 3.14159 3.141592 3.1415926 3.14159265 3.141592653 3.1415926535 3.14159265358 3.141592653589 3.1415926535897 3.14159265358979 3.141592653589793 3.1415926535897932 3.14159265358979323 3.141592653589793238 3.1415926535897932384 3.14159265358979323846 3.141592653589793238462 3.1415926535897932384626 3.14159265358979323846264 3.141592653589793238462643 3.1415926535897932384626433 3.14159265358979323846264338 3.141592653589793238462643383 3.1415926535897932384626433832 3.14159265358979323846264338327 3.141592653589793238462643383279 3.1415926535897932384626433832795 3.14159265358979323846264338327950 3.141592653589793238462643383279502 3.1415926535897932384626433832795028 3.14159265358979323846264338327950288 3.141592653589793238462643383279502884 3.1415926535897932384626433832795028841 3.14159265358979323846264338327950288419 3.141592653589793238462643383279502884197 3.1415926535897932384626433832795028841971 3.14159265358979323846264338327950288419716 3.141592653589793238462643383279502884197169 3.1415926535897932384626433832795028841971693 3.14159265358979323846264338327950288419716939 3.141592653589793238462643383279502884197169399 3.1415926535897932384626433832795028841971693993 …
16 code-golf  math  pi 

14
サムチェーンシーケンス
シーケンス: から始め1ます。 最初に、現在の1インデックスの値をシーケンス内の前の番号に追加します。 次に、この現在の値に適用する場合、次の数学演算を順番に適用します。 で割り切れ2ますか?=>追加 で割り切れ3ますか?=>減算 で割り切れ4ますか?=>(加算AND)乗算 どちらも割り切れない2、3でも4?->現在の合計結果を続行 出力: このシーケンスの最初の100個の数値を出力します。 1, 1, 21, 25, 30, 216, 223, 223, 2169, 2179, 2190, 2202, 2215, 2215, 2245, 2261, 2295, 2295, 2333, 2353, 2395, 2417, 56649, 56649, 56699, 56725, 1533033, 1533061, 1533090, 45993600, 45993631, 45993631, 1517792001, 1517792035, 1517792070, 1517792106, 1517792143, 1517792143, 1517792221, 1517792261, …

12
この質問にはいくつ回答がありますか?
この質問の答えの整数を出力するプログラムまたは関数を書きます。ソリューションは、さらに回答が追加されても機能するはずです。 ブラウザで実行される言語は、このページにいる間、jsコンソールから実行できます。それ以外の場合は、おそらくこのページをダウンロードする必要があります。多言語ソリューション、たとえばwget、ページのingや解析を使用して問題grepありません。コマンドラインと使用したすべてのソースを要約するだけです。 これはコードゴルフです。バイト単位の最短回答が優先されます。 編集: このページのURLの最大1つのオカレンスが、入力またはソースとしてカウントされないようにしましょう。URL短縮サービス、パラメータ取得などとして保存されたデータはありません。URLの引用符は、必要に応じてカウントされます。入力としてURLを使用しても問題ありません。たとえば/how-many-answers...、URLの一部を削除したい場合は削除できますが、おそらく役に立たないでしょう。

13
ポリゴンの重心を見つける
ウィキペディアから: n個の頂点(x 0、y 0)、(x 1、y 1)、...、(x n --1、y n-1)で定義される非自己交差閉多角形の重心は、ポイント(C x、C y)、ここで また、Aはポリゴンの署名された領域です。 これらの式では、頂点には、ポリゴンの周囲に沿った出現順に番号が付けられていると想定されています。さらに、頂点(x n、y n)は(x 0、y 0)と同じであると想定されます。これは、最後のケースでi + 1がi = 0にループする必要があることを意味します。ポイントに時計回りに番号が付けられている場合、上記のように計算された領域Aは負の符号を持つことに注意してください。ただし、この場合でも重心座標は正確です。 頂点のリストを順番に(時計回りまたは反時計回りに)指定して、頂点によって表される自己交差しない閉じたポリゴンの重心を見つけます。 役立つ場合は、入力をCWのみ、またはCCWのみと想定することができます。これが必要な場合は、答えでそう言ってください。 座標は整数である必要はなく、負の数値を含む場合があります。 入力は常に有効で、少なくとも3つの頂点が含まれます。 ご使用の言語のネイティブ浮動小数点データ型に適合する入力のみを処理する必要があります。 入力番号には常に小数点が含まれると想定できます。 入力整数は.またはで終わると仮定できます.0。 入力には複素数を使用できます。 出力は、1000分の1単位で正確でなければなりません。 例 [(0.,0.), (1.,0.), (1.,1.), (0.,1.)] -> (0.5, 0.5) [(-15.21,0.8), (10.1,-0.3), (-0.07,23.55)] -> -1.727 8.017 [(-39.00,-55.94), (-56.08,-4.73), (-72.64,12.12), (-31.04,53.58), (-30.36,28.29), (17.96,59.17), …

19
N次元の円!
入力として2つの数値を取るプログラムを作成します。最初の要素は、次元の数です。0は点、1は直線、2は円、3は球です。2番目の数値はオブジェクトの半径、または1次元の場合は数値そのものです。0次元の場合は0を出力します。出力は、オブジェクトの長さ/面積/体積です。 最初の数値n、2番目の数値r、およびoutput を呼び出すと、次のxようになります。 n = 0、x = 1の場合 n = 1の場合、x = 2×r n = 2の場合、x = r 2 ×π N = 3、X =(4 / 3)×R 3 ×π など...必要に応じて。 ノート: 一方または両方の数値が負の場合、または最初の数値が完全でない場合は、カバーする必要はありません。 プログラムはどのファイルからも読み取ってはならず、入力はこれら2つの数値のみです。 出力は数字のみを使用する必要があり(「14 * pi」ではない)、少なくとも2桁の10進数まで正確である必要があります。 n = 0の場合、コードを短くする場合は0を出力できます。 4つ以上の次元の「球体」をカバーする回答用の追加のスワッグ! それはcode-golfなので、バイト単位の最短回答が勝ちです! 例: 1 1 -> 2 2 3 -> 28,27 3 …
16 code-golf  math 

11
単語のランダムなスペルミス
このCRの質問に触発されました (CRの閲覧で私を殺さないでください) スペック 単語のスペルミスの確率は次のとおりです。 1/3の時間は出力を変更しません 1/3の時間でランダムな文字が削除されます 1/3の時間がランダムキャラクターを複製する 入力の特定の文字を削除/複製する機会は、すべての文字で同じでなければなりません。 2つの連続する文字が同じ場合(大文字と小文字が区別されます)、そのうちの1つが変更される確率は、1文字である場合と同じである必要があります。つまり、AA(AAまたはAorであるAAA)の出力はすべて同じ確率になるはずです。 簡単にするため、入力には文字のみが含まれます。 例 最初の行が入力され、次の行はすべてスペルミスの可能性があります。各行の出力確率は同じである必要があります。例では入力は除外されていますが、出力の確率は1/3のままです。 foo fo oo ffoo fooo PPCG PPC PPG PCG PPPCG PPCCG PPCGG

6
Golff yCôd-トライグラッド
このyng Nghymraegを読む チャレンジ ウェールズ語で単語が与えられた場合、その単語のすべての可能な突然変異形式を出力します。 突然変異 突然変異とは、特定の単語を追跡するとき、または特定の文法的な文脈で単語の最初の文字を変更することです。 ウェールズ語では、以下が「子音」と見なされます。 b c ch d dd f ff g ng h l ll m n p ph r rh s t th ch、ng、rhなどの複数の子音は、ウェールズ語では1文字としてカウントされるため、1つの子音としてカウントされることに注意してください。 ウェールズ語のアルファベットの他の文字は母音であり、以下にリストされています。 a e i o u w y 以下を参照してください。元の文字が左側にあり、その結果の変異文字が右側にあるすべての変異: Original | Mutations ---------+--------------- p | b mh ph t | d …

11
最小限の文字数で「Lorem ipsum」を出力します
視覚的な意味を持たない奇妙なユニコード文字で情報を保存することができるため、コードサイズは文字ではなくバイト単位で測定されるべきだと言っている人を覚えています。 それはどれほど悪いことができますか? この課題では、Wikipediaから取得した次のLorem Ipsumテキストを出力する必要があります。 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse …

7
サンタクロースの家
サンタクロースの家 注:これは、私が設定しようとした最初の課題です。サンドボックスを経由しましたが、何か問題が見つかった場合は、ただ投票するだけでなく、コメントを残してください。 バックグラウンド ペンを紙から持ち上げたり、ラインを2回越えたりせずに、屋根と真ん中に十字架のある箱を描くことが課題である古い子供向けパズルがあります。 ドイツでは「das Haus des Nikolaus」または「The House of Santa Claus」として知られています。正直なところ、私たちがそれを何と呼んでいたのか思い出せません。パズルに慣れていない方は、詳細をこちらでご覧ください。 これは家のASCIIアート表現です。 /\ /__\ |\/| |/\| ---- チャレンジ あなたの好きな言語でサンタクロースの家を描くためのプログラムや機能を書いてください。 簡単すぎるように聞こえますか?さて、ここにキャッチがあります。また、図面の各段階を出力し、パズルのルールに準拠する必要があります。プログラムは、入力を行う必要はありません。完成した家は上記のように正確に見える必要があります。 上記のサイトによると、44の可能な解決策があります。いずれかを使用できます。これはASCIIアートの課題であるため、解を計算する必要はなく、それを描くだけです。 出力 44のソリューションの1つからの必要な出力の例を以下に示します。 ---- \ \ ---- __ \ \ ---- \ __\ \ \ ---- /\ /__\ \ \ ---- /\ /__\ |\ | \ ---- /\ /__\ …

30
テトラションを印刷する
として表されるテトレーションは、a^^b累乗の繰り返しです。たとえば、2^^3is 2^2^2は16です。 2つの数値aとbが与えられると、printしますa^^b。 テストケース 1 2 -> 1 2 2 -> 4 5 2 -> 3125 3 3 -> 7625597484987 etc. 科学表記法は受け入れられます。 これはcode-golfであるため、バイト数が最小のコードが優先されます。
16 code-golf  math  number 

18
デジタルダイバーシティ
正の整数は、整数の基数で表すことができます1 <= b < inf。 そのベースに変換すると、いくつかの異なる数字があります。 baseの正の整数に1は、1個別の数字があります。 baseのほとんどの正の整数に2は2異なる数字がありますが、例外はの形式のもので、2^n - 1のみがあり1ます。 したがって、1一意の数字で整数ベースで表される最初の正の整数はで1あり、2個別の数字で表される最初の正の整数は2です。 私たちは、それが言うことができる1、デジタル多様性を持つ最初の整数である1と2デジタル多様性を持つ最初の整数です2。 チャレンジ: 正の整数nを指定すると、デジタル多様性を持つ最初の正の整数(10を基数*)を返しnます。 *言語が特定のベース(単項またはバイナリ)のみをサポートしている場合、そのベースで出力できます。 アルゴリズムは、正の整数入力に対して理論的に機能する必要があります。言語の整数の精度が出力に対して小さすぎるため、失敗する可能性があります。ただし、ベース変換はある制限までしか定義されていないため、失敗しない可能性があります。 テストケース input output 1 1 2 2 3 11 4 75 5 694 6 8345 7 123717 17 49030176097150555672 20 5271200265927977839335179 35 31553934355853606735562426636407089783813301667210139 63 3625251781415299613726919161860178255907794200133329465833974783321623703779312895623049180230543882191649073441 257 87678437238928144977867204156371666030574491195943247606217411725999221158137320290311206746021269051905957869964398955543865645836750532964676103309118517901711628268617642190891105089936701834562621017362909185346834491214407969530898724148629372941508591337423558645926764610261822387781382563338079572769909101879401794746607730261119588219922573912353523976018472514396317057486257150092160745928604277707892487794747938484196105308022626085969393774316283689089561353458798878282422725100360693093282006215082783023264045094700028196975508236300153490495688610733745982183150355962887110565055971546946484175232 これはcode-golfであり、バイト単位の最短ソリューションが勝ちです。 OEIS:A049363-ベースnの最小パンデジタル数。

14
非回文数字
厳密非回文数 Nは、パリンドロームではない数である任意の(N-2塩基2)塩基。 これらの番号はOEISにリストされています 例えば、数19塩基2,3,4,5,6、... 17は:10011、201、103、34、31、... 12。これらの表現はいずれも回文的ではないため、その数は厳密に非回文的です。 このチャレンジでは、数値がパリンドロームでない場合は真実の値を返し、そうでない場合は偽の値を返す必要があります。 渡された数値が0以上であると仮定することができます。 プログラムは、言語の整数サイズまでの値で動作するはずです。 テストケース: 真実: 0 1 2 3 4 6 11 19 47 53 79 103 389 997 1459 偽物: 5 7 8 9 10 13 16 43 48 61 62 101 113 211 1361 これはコードゴルフですので、できるだけ短く答えてください!

6
ASCIIダイスを振る
このコードゴルフチャレンジでは、ランダムなサイコロのアスキーアートを出力する必要があります。 このような: ________ /\ \ / \ 6 \ { 4 }-------} \ / 5 / \/_______/ その点に注意してください: ________ /\ \ / \ 3 \ { 4 }-------} \ / 5 / \/_______/ 無効な出力です。これは、ダイで起こりうる結果ではないためです。 6(faces that could be up)*4(faces that could be the left face after the top is determined)*1(faces …

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