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

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

5
AdamNタイルを印刷する
Adam7は、PNGなどのラスターイメージ用のインターレースアルゴリズムです。Adam M. Costelloによって発明されたため、「Adam7」アルゴリズムと呼ばれ、特定のパターンを7回たどることによって生成されます。コードゴルフを本当に楽しくするAdam7アルゴリズムの素晴らしい点の1つは、パターンが奇数である限り、任意の回数だけ繰り返すことができることです。1996年にPNG標準が開発されたとき、9回の反復は複雑すぎ、5回の反復は効率的ではなかったため、7回の反復で十分であると見なされていました。 タイルの最初の反復は次のとおりです。 a ものすごく単純。これは「Adam1」タイルです。次の反復である「Adam3」タイルに到達する方法を次に示します。 最後のタイルがだったので1x1、高さと幅が2倍になり、次のタイルはになります2x2。まず、左上隅の「a」から始めます。 a- -- ステップ2、このパターンを右にコピーし、現在の文字を1つ増やします。 ab -- ステップ3、ステップ2と同じですが、右ではなく下にコピーします。 ab cc ブーム。「Adam3」タイル。「Adam5」も実行してみましょう。実際にアルゴリズムがどのように機能するかを確認できます。このタイルもまた2倍の大きさになり4x4ます。繰り返しますが、a左上隅のから始めます。 a--- ---- ---- ---- このパターンを2倍にし、文字を増やして、右に移動します。 a-b- ---- ---- ---- 繰り返しますが、今回はダウンします。 a-b- ---- c-c- ---- 繰り返しますが、今回は右側です。 adbd ---- cdcd ---- 繰り返しますが、今回はダウンします。 adbd eeee cdcd eeee これが「Adam5」タイルです。Adam7タイルのASCII表現は次のとおりです。 afdfbfdf gggggggg efefefef gggggggg cfdfcfdf gggggggg efefefef gggggggg そして、ここに、Adam7タイルの各ステップの楽しいアニメーションがあります(ただし、いくつかのタイルを並べて実行します)。 …

15
少なくともn回m回発生する何かの確率
成功確率p、数nおよび試行回数mが与えられると、m回の試行のうち少なくとも n回の成功の可能性を返すプログラムまたは関数を記述します。 回答は、小数点以下5桁以上で正確でなければなりません。 テストケース: 0.1, 10, 100 -> 0.54871 0.2, 10, 100 -> 0.99767 0.5, 13, 20 -> 0.13159 0.5, 4, 4 -> 0.06250 0.45, 50, 100 -> 0.18273 0.4, 50, 100 -> 0.02710 1, 1, 2 -> 1.00000 1, 2, 1 -> 0.00000 0, 0, 1 -> 1.00000 0, …

11
これらの正方形は重なりますか?
2つの正方形の左上隅の座標とその辺の長さを考慮して、正方形が重なるかどうかを判断します。正方形には上下の線が含まれますが、下と右の線は含まれません。つまり、点(a,b)はk、(x,y)ifおよびの場合にのみ辺の長さを持つ正方形の内側にx <= a < x+kありy <= b < y+kます。辺の長さが0の正方形は縮退しているため、ここでは考慮されないため、k正になります。 通常どおり、すべての標準ルールが適用されます。入力と出力は、人間が読める形式であり、事前計算がない限り、どんな形式でも便利です。使用する入力形式を必ず指定してください。コードは6つの数字を取り、正方形が重なる場合は真実を出力し、そうでない場合は偽を出力する必要があります。 テストケース x1 y1 k1 x2 y2 k2 overlap? 1 1 1 0 1 1 false 0 0 3 1 1 1 true 1 1 1 0 0 3 true 0 0 3 2 1 2 true 0 0 2 1 …

8
ファイの三角形を描く
明確化:基本的に、これを作成する必要があります オイラーのtotient関数の名前はphiです。 phi(8)を計算してみましょう まず、0以下を含まない、8以下のすべての数字を後方にリストします 8 7 6 5 4 3 2 1 次に、8と因子を共有しない数字を見つけ(1はカウントしません)、その場所にa #を配置します。 8 # 6 # 4 # 2 # 数字を削除します。 # # # # - これを行いますが、出力を三角形にまとめます 9 88 777 6666 55555 444444 3333333 22222222 111111111 --------- 123456789 # 非因子共有番号を出力する 9 8# 7## 6#66 5#### 4#4#4# 3##3##3 2#2#2#2# …

4
不定サイズのリストを数値にマッピングします!
無限大を研究する数学の分野では、有限量の可算集合のデカルト積も可算であることはよく知られています。 あなたの仕事は、これを実装する2つのプログラムを書くことです。1つはリストから整数にマッピングし、もう1つは整数からリストにマッピングします。 関数は全単射で決定論的である必要があります。つまり、1常に特定のリストにマップされ、2常に別の特定のリストなどにマップされます。 以前、整数を0とのみで構成されるリストにマッピングしました1。 ただし、リストは負ではない数字で構成されます。 スペック プログラム/機能、合理的な入力/出力フォーマット。 マップされた整数が開始する1か開始するか0はユーザーの選択です。つまり、0何にもマップする必要はありません(マップすることはできます)。 空の配列[]はエンコードする必要があります。 入力/出力は任意のベースにあります。 2つの関数間でコードを共有できます。 得点 これはcode-golfです。最低スコアが勝ちます。 スコアは、2つのプログラム/関数の長さの合計(バイト単位)です。

10
hackertyper.net
前書き hackertyper.netは、入力1つにつき3文字の割合で入力すると、Linuxカーネルの暗号セクションから複雑なコードを画面に出力することにより、「ハッキング」(メディアが描写している)をシミュレートするWebサイトです。 チャレンジ プログラム/関数は、コマンドライン引数としてファイルを受け入れるか、ファイルパスをハードコードするか、コマンドラインまたは関数引数として[ファイル内にある]テキストを受け入れ、hackertyper.netを模倣する必要があります。 STDINまたは同等の機能を介して受信した各文字について、ファイルから3文字(STDOUTまたは同等の機能)を画面に出力します。 EOFに達すると、プログラムはファイルの先頭から文字の出力を再開します(ラップ)。 スペック 簡単にするために、STDINがすでにバッファーなしエコーモードに設定されており、ユーザーがEnterキーを押すまでプログラムに入力を渡さず、入力した文字が表示されないことを想定できます。 ファイルには改行を含めることができますが、入力には改行は含まれません。 これがどのように機能するかを示してC(golfedない)で書かれた小さな例については、を参照してくださいこれを。 緑のテキストと黒の背景は必要ありません。 入出力の例 ファイル: #include <stdio.h> int main() { } 入力: hello world 出力: #include <stdio.h> int main() { } ファイル: hello 入力: hello world 出力: hellohellohellohellohellohellohel
11 code-golf 

7
クロネッカー積を計算する
関連するが、非常に異なる。 以下の例ではA、Bは2行2列の行列になり、行列は1インデックスになります。 クロネッカー積は、次のプロパティがあります。 A⊗B = A(1,1)*B A(1,2)*B A(2,1)*B A(2,2)*B = A(1,1)*B(1,1) A(1,1)*B(1,2) A(1,2)*B(1,1) A(1,2)*B(1,2) A(1,1)*B(2,1) A(1,1)*B(2,2) A(1,2)*B(2,1) A(1,2)*B(2,2) A(2,1)*B(1,1) A(2,1)*B(1,2) A(2,2)*B(1,1) A(2,2)*B(1,2) A(2,2)*B(2,1) A(2,2)*B(1,2) A(2,2)*B(2,1) A(2,2)*B(2,2) 課題:与えられた2つの行列AとBを返しA⊗Bます。 行列のサイズは少なくとも1-by-1です。最大サイズは、お使いのコンピューター/言語がデフォルトで処理できるものですが、最小5-by-5入力です。 すべての入力値は非負の整数になります クロネッカー積またはテンソル / 外積を計算する組み込み関数は許可されていません 一般的に:I / O形式、プログラムと機能、抜け穴などに関する標準ルール テストケース: A = 1 2 3 4 B = 5 6 7 8 A⊗B = …

23
正の除数を見つけてください!
定義 ゼロより大きい場合、数値は正です。 数(A)は、別の数(の除数であるB場合)Aに分割することができBない残り。 たとえば、余りなしで除算できるため2、の除数です。626 ゴール あなたの仕事は、正の数をとるプログラム/関数を作成し、その除数をすべて見つけることです。 制限 prime または factorizationに関連する組み込みは使用できません。 アルゴリズムの複雑さはO(sqrt(n))を超えてはなりません。 自由 出力リストに重複が含まれている場合があります。 出力リストをソートする必要はありません。 得点 これはcode-golfです。バイト単位の最短ソリューションが勝ちです。 テストケース input output 1 1 2 1,2 6 1,2,3,6 9 1,3,9

7
クロスワードを読む
この形式へのパッキングに関するこの質問に触発されました。 ときどき、完成したクロスワードが表示され、私と同じようにいると、手がかりの解決策が実際に何であったかを知るのに迷惑をかけることができません。 入力: 2D文字列(任意の形式、改行区切り、2Dリストなど) 空白の四角は(スペース文字)で表されます 他のすべての正方形は小文字のアルファベットになります。 入力がスペースで埋められて長方形を形成すると仮定することができます 出力: 見つかった各単語 前後の単語を検索する必要があります 単語は少なくとも2文字の長さになります 重複する単語がある場合は、出現するたびに出力する必要があります 検証する必要はありません 単語は任意の順序で出力できます 厳密なフォーマット規則はありません テストケース: word e e step t d word, step, west, reed --- pies not no wasp pies, not, no, wasp, in, eons, stop --- igloo n word igloo, word, on

10
文字列をn個(または長さn個)に分割します
チャレンジ この課題では、入力の順序に応じて2つの異なる(ただし関連する)タスクを実行する必要があります。 あなたのプログラムは入力として文字列sと整数nを受け取り、 最初に来る場合s、長さの断片に分割されます。必要に応じて、最後の要素が短くなります。ns 最初に来る場合、等しい長sさのn断片に分割されnます。len(s)でない場合n、最初のlen(s) mod n要素の倍数は1つ長くなります。 これら2つの入力のみを使用できます。s数字のみが含まれることはありません。 ノート 逆マッピングを使用できます。それを行う場合は、回答でこれに注意してください。 s印刷可能なASCII文字のみが含まれます(改行は含まれません)。 これらの2つのタスクを直接解決するビルトインを使用することはできません。他のすべてのビルトインは許可されます。 同じソースから両方の引数を取得する必要があります。 引数を順序付きリストまたは明確な順序である限り明確に示すその他の形式で引数を受け取ることができます。 入力を1つの文字列/ストリームとして受け取り、有効な入力(ヌルバイトなど)ではない文字を使用してそれらを区切ることができます。 n常にsゼロ以下の長さと等しくなります。 特定のピースとその順序を明確に示している限り、結果のリストを適切な形式で出力できます。 例 入力: programming, 3 11は3で割り切れないため、最後の要素には2文字しか含まれていません。 出力: ["pro", "gra", "mmi", "ng"] 入力: 3, programming 11は3の倍数ではないため、最初の2つの要素は1つ長くなります。 出力: ["prog", "ramm", "ing"] ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース このPythプログラムでテストケースが生成されました(ビルトインを使用しているため、有効な回答はありません)。@FryAmTheEggmanの基本バージョンを提供してくれてありがとう! 3、helloworld-> ['hell'、 'owo'、 'rld'] helloworld、3-> ['hel'、 'low'、 'orl'、 …
11 code-golf  string 

7
音楽間隔ソルバー
音楽理論では、間隔は2つのピッチの差です。各ピッチは、ハーフステップ(CとC#の違い)またはステップ全体(CとDの違い)の数によって定義されます。1つの全体のステップは、2つの半分のステップと同じです。すべてのデフォルト間隔とそれらが表すハーフステップの数のリストは次のとおりです。 0 Perfect Unison 2 Major Second 4 Major Third 5 Perfect Fourth 7 Perfect Fifth 9 Major Sixth 11 Major Seventh 12 Perfect Octave デフォルトの間隔には、マイナー、縮小、および拡張の 3つのバリエーションがあります。 マイナーの間隔は、1つの半段階の主要な間隔よりも低くはなく、完璧な間隔です。したがって、マイナーな秒(1)、マイナーな3番目(3)、マイナーな6番目(8)、マイナーな7番目(10)があります。これらはすべて完全な間隔であるため、マイナー4、マイナー5、マイナーユニゾン、マイナーオクターブなどはありません。 減少間隔はマイナーより1半音低くなっているか、完璧な間隔。減少した2番目(0)、3番目の減少(2)、4番目の減少(4)、5番目の減少(6)、6番目の減少(7)、7番目の減少(9)、およびオクターブの減少(11)があります。 増強間隔は、1つの半段階で高いメジャーまたは完璧な間隔より。ユニゾンの拡張(1)、2番目の拡張(3)、3番目の拡張(5)、4番目の拡張(6)、5番目の拡張、(8)、6番目の拡張(10)、7番目の拡張(12)があります。 チャレンジ: 半ステップまたは全ステップを数回実行し、この間隔の有効な英語の説明の1つを印刷するプログラムまたは関数を作成する必要があります。IOテーブルと完全に一致する限り、どの説明を選択してもかまいません。これを1つの文字列として取ることができます "5w" == 5 whole steps "3h" == 3 half steps または、数字と文字列/文字として。 5, "w" == 5 whole steps 3, …
11 code-golf  music 

4
ロード、ディフェンド、シュートのゲームを獲得する
私は子供の頃、このゲームをよくプレイしていました。 ルール 2人のプレイヤーがいて(AとBと呼びましょう)、各プレイヤーは銃として手を使います。3つの可能な動きがあります。 あなたの銃に弾薬をロードするために手を挙げてください。 各銃は空から始まります。装填により弾薬が1つ増えます。 撮影する他のプレイヤーを指している手。 これにより、弾薬が1つ減少します。射撃するには、少なくとも1ユニットの弾薬が必要です。 腕を組んで、ショットから身を守ります。 両方のプレイヤーが同時に移動します。両方のプレイヤーが同時に撃つ場合、弾丸は互いに衝突し、ゲームは続行します。片方のプレイヤーが弾薬を装填している間に他のプレイヤーが撃つと、ゲームは終了します。 銃撃と空の銃は不正行為と見なされます。プレーヤーが不正行為を行っている間に他のプレーヤーが不正行為を行った場合、不正行為者はすぐに負けます。両方のプレイヤーが同時にチートした場合、ゲームは続行します。 不正行為は弾薬を減少させないので、決してマイナスになることはありません。 チャレンジ プレーヤーAとBの動きを考慮して、どのプレーヤーがゲームに勝ったかを出力します:1プレーヤーA、-1プレーヤーB、0引き分け。戻り値のその他のトリプルを使用できますが、使用するものを回答に記載する必要があります。 ゲームは: すべての動きを処理することなく終了します。 与えられた動きで終わらないため、引き分けと見なされます。 入力を取得できます。 文字列として 整数の配列/リストとして 入力を前処理しない他の方法で 完全なプログラムまたは機能が許可されます。これはcode-golfなので、バイト単位の最短回答が勝ちです! テストケース A: "123331123" B: "131122332" -----^ Player B shoots player A and wins. Output: -1 A: "111322213312" B: "131332221133" -------^ Player B cheats and loses. Output: 1 A: "1333211232221" …
11 code-golf  game 

9
古典的な分類コードとゴルフの質問
これはコードゴルフの質問です。 入力 最も便利な任意の形式の非負整数のリスト。 出力 最も便利な形式でソートされた順序で同じリスト。 制限 入力の整数の数が最悪の場合、コードはO(n log n)時間で実行する必要がnあります。これは、例えば、ランダム化されたクイックソートが出ていることを意味します。ただし、他にも多くの選択肢があります。 並べ替えライブラリ/関数/類似物を使用しないでください。また、ヒープライブラリのように、ほとんどの並べ替え作業を行うものは使用しないでください。基本的に、実装するものは何でも、ゼロから実装します。 必要に応じて関数を定義できますが、実際に動作する完全なプログラムでその例を示してください。以下のすべてのテストケースで正常かつ迅速に実行されるはずです。 テストケース In: [9, 8, 3, 2, 4, 6, 5, 1, 7, 0] Out:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In: [72, 59, 95, 68, 84] Out:[59, 68, 72, 84, 95] In: [2, 2, 1, 9, 3, …

1
スパイラルワードの描画[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 2年前に閉店。 シナリオ ASCIIの小文字とスペースの入力が与えられた場合、スペースを除く文字の元の入力をトレースする文字のスパイラルを描きます。 ルール 1)キャラクターは、反時計回りに左回りに外側に向かって渦巻くものとする。左折できない場合は、まっすぐに進みます。 Given: abcdefg Output: g baf cde 2)ルール#1に違反しない限り、キャラクターは前のキャラクターにスパイラルできます。また、その文字がらせん形になっている場合、その文字は大文字になります。文字が大文字になると、再利用の回数に関係なく大文字のままになります。 Given: apples appeal Output: PAs PLe ea

3
位置を三辺測量する
前書き あなたが2次元のデカルト平面上にいて、その上で自分の位置を判断したいと想像してください。その平面上の3つのポイントとそれぞれの距離を知っています。それからあなたの位置を計算することは常に可能ですが、あなたの頭の中でそれをすることはかなり難しいです。そこで、あなたはそのためのプログラムを書くことにします。 チャレンジ 3つのポイントとそれらまでの距離が与えられたら、位置の座標を出力します。 入力と出力は、実数の代わりに複素数を使用するなど、任意の便利な形式にすることができます。使用する形式を回答で明確にしてください。 あなたは常にあなたとの距離で正確に3つの異なるポイントを取得します。 座標と距離は、任意の精度の浮動小数点数です。出力は小数点以下3桁まで正確でなければなりません。丸めはあなた次第です。答えを明確にしてください。 3つのポイントが同一直線上にないことを前提とする場合があるため、常に一意のソリューションが存在します。 ソリューションをブルートフォースすることは許可されていません。 この特定の問題を単純化する組み込み機能は使用できません。ただし、ベクトルノルムなどのビルトインは許可されます。 始めるためのヒント: 半径としてあなたまでの距離でそれらの3点のそれぞれの周りの円について考えてください。 ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース ここで一点の入力フォーマットである[[x,y],d]とxし、y座標であり、かつdこの点までの距離です。これらの3つのポイントはリストに配置されます。出力は次のようになりx、その後とy、リストに。 [[[1、2]、1.414]、[[1、1]、2.236]、[[2、2]、1.0]]-> [2、3] [[[24.234、-13.902]、31.46]、[[12.3242、234.12]、229.953]、[[23.983、0.321]、25.572]]-> [-1.234、4.567] [[[973.23、-123.221]、1398.016]、[[-12.123、-98.001]、990.537]、[[-176.92、0]、912.087]]-> [12.345、892.234] このPythプログラムを使用して、追加のテストケースを生成できます。場所は入力の最初の行にあり、3つのポイントは次の3行にあります。 ハッピーコーディング!

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