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

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

20
アップタイムプログレスバー
uptime現在の稼働時間と同じ長さの解剖学的に示唆的なプログレスバー(図を参照)を生成し、生成するプログラムを作成します。 $ uptime 23:01 up 34 days, 7:30, 5 users, load averages: 0.23 0.27 0.24 $ uptime|<command> 8==================================D (34日= 34等号) 最短回答が勝ちます。

6
グラハム数の最後の桁を計算します
グラハムの数は7で終わります。理論的には、宇宙自体のサイズよりも多くの情報を保存する必要があります。ただし、グラハム数の最後の数桁を計算することは可能です。 最後の数桁は次のとおりです。 02425950695064738395657479136519351798334535362521 43003540126026771622672160419810652263169355188780 38814483140652526168785095552646051071172000997092 91249544378887496062882911725063001303622934916080 25459461494578871427832350829242102091825896753560 43086993801689249889268099510169055919951195027887 17830837018340236474548882222161573228010132974509 27344594504343300901096928025352751833289884461508 94042482650181938515625357963996189939679054966380 03222348723967018485186439059104575627262464195387 プログラムにはこれら(または同様の数)が含まれていない場合がありますが、計算する必要があります。200桁以上を計算する必要があります。 stdoutへの出力。適切なハードウェアでの最大実行時間は2分です。最短のプログラムが勝ちます。
13 code-golf  number 

5
複数の方法で完璧な力?
チャレンジ あなたの仕事は、正の整数Nが与えられると、複数の方法で完全なベキとして表現できるN以下のすべての正の整数を見つけるプログラムまたは関数を書くことです。 定義 完全なパワーは、m ^ kで見つかった数値iとして定義されます。ここで、 mとiは正の整数です m!= k テストケース 入力->出力 1000-> 16、64、81、256、512、625、729 56-> 16 999-> 16、64、81、256、512、625、729 81-> 16、64、81 1500-> 16、64、81、256、512、625、729、1024、1296 読みやすいコメント付きのバージョンも提供してください。


10
天気予報
次の7日間の天気を予測する最短のプログラムを書く (stdinからの)入力は平日と季節です (標準出力への)出力は平日 7行で、温度は摂氏です 平日は入力された平日に始まります 気温は季節に応じた範囲の乱数です 春10〜30度 夏20〜40度 秋5-25度(秋は秋の同義語です) 冬-5〜15度 サンプル入力 Thursday Winter サンプル出力 木曜日-1 金曜日3 土曜日8 日曜日7 月曜日10 火曜日10 水曜日-1 プログラムは、同じ入力で実行されるたびに同一の出力を持つことはできません
13 code-golf  random 

28
最短16進ダンププログラム
チャレンジ ファイルの各バイトを表示するコンソールプログラムを作成します。 勝ち これはcode-golfであるため、バイト数が最も少なくなります。 ルール プログラムはコンソールアプリケーションである必要があります。つまり、何らかのコマンドラインインタープリターから実行されます。 各バイトは、スペースで区切られた大文字の16進数でなければならず、2桁でなければなりません。(1桁の場合は、その前に番号0を入れます) ファイルは、IOまたは代替を使用して読み取る必要があり、ハードコードされていません。 ファイルパスは、コマンドライン引数またはユーザープロンプト(STDINなど)として指定する必要があります。 抜け穴はありませんしてください。 例 test.txt(LFで終わる) Hello World! $ ./hexdump.exe test.txt 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0A
13 code-golf 

29
セットのN番目のサブセット
タスク 与えられたセット S=[1,2,3,4,5,6,7,8]S=[1,2,3,4,5,6,7,8]S = \left[{1,2,3,4,5,6,7,8}\right] および整数 0≤N&lt;2|S|0≤N&lt;2|S|0 \leq N < 2^{|S|} N番目のサブセットを見つけます。 入出力 Nは、stdinで符号なし整数として指定されます。あなたはあなたの言語に適した形式でN番目のサブセットを印刷する必要があります(この含むことができ[1,2,3]、{1,2,3}、[1, 2, 3]、1 2 3、1,2,3などのために長い間、それは人間が読めるな限りテキスト形式)。 サブセットについて少し サブセットとベース2の数値の間には関係があります。各数字 didid_{i}は、セットのi番目の要素がサブセット内にあるかどうかを指定します。たとえば、00000000は空のセットで、10000001は[1,8](最後と最初の要素)を含むサブセットです。N番目のサブセットを取得するには、数値を基数2に変換すると、サブセットにすべての要素が含まれます(di&gt;0di&gt;0d_{i} > 0。したがって、3番目のサブセット(3 = 00000011)にはが含まれます[1,2]。右端の数字は数字#0です。印刷しても構いません[2,1]。セットをソートする必要はありません。 補遺: はい、セットはに固定されてい1..8ます。セットは入力の一部ではありません。入力はちょうどNです。 はい、別の入力フォームを使用できます。 すべてのNのすべての予想出力:https : //tio.run/##SyotykktLixN/f/fyNS02qIoP8soJd1CwSAg2kY32LPWPaoqs7jg/38A
13 code-golf 

13
QBasicでのゴルフのヒント
QBasicでゴルフをするための一般的なヒントは何ですか?私は、少なくともQBasicに特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。 QB64エミュレーターに関するヒントも歓迎します。Microsoft QBasicにはない追加機能がいくつかあります。
13 code-golf  tips  basic 

7
許容されるシーケンスのテスト
エグゼクティブサマリー:整数の入力シーケンスが「許容される」かどうかをテストします。これは、モジュラスのすべての剰余クラスをカバーしないことを意味します。 「許容される」シーケンスとは何ですか? 整数m≥2が与えられた場合、mを法とする剰余類は、共通の差mのmの算術級数になります。たとえば、m = 4の場合、4を法とする4つの剰余クラスは ..., -8, -4, 0, 4, 8, 12, ... ..., -7, -3, 1, 5, 9, 13, ... ..., -6, -2, 2, 6, 10, 14, ... ..., -5, -1, 3, 7, 11, 15, ... k番目の剰余クラスは、mで除算したときの剰余がkに等しいすべての整数で構成されます。(負の整数に対して「剰余」を正しく定義している限り) 整数a1、a2、...、akのシーケンスは、剰余クラスの少なくとも1つと交差しない場合、mを法として許容されます。たとえば、{0、1、2、3}および{-4、5、14、23}は4を法とする許容値ではありませんが、{0、1、2、4}および{0、1、5、9 }および{0、1、2、-3} は 4を法として許容されます。また、{0、1、2、3、4}は4を法として許容されませんが、{0、1、2} は 4を法として許容されます。 最後に、整数のシーケンスは、すべての整数m≥2に対してモジュロmで許容される場合、単純に許容されます。 チャレンジ 入力として整数のシーケンスを受け取り、シーケンスが許容される場合は(一貫した)Truthy値を返し、シーケンスが許容されない場合は(一貫した)Falsy値を返すプログラムまたは関数を作成します。 整数の入力シーケンスは、任意の妥当な形式にすることができます。入力シーケンスに少なくとも2つの整数があると仮定できます。(必要に応じて入力整数が異なると仮定することもできますが、おそらく役に立ちません。)正および負の整数(および0)を処理できる必要があります。 通常のコードゴルフスコアリング:バイト単位の最短回答が勝ちます。 サンプル入力 …

4
三角形のフェルマー点を計算する
これは、三角形の中心に多少似ていますが、異なる点があります。フェルマーポイント AP + BP + CPの値が最小となるような三角形ABCの点Pです。次の2つのケースがあります。 120度を超える角度がある場合、その頂点はフェルマーポイントです。それ以外の場合は、ABCの各辺に正三角形を描きます。各正三角形の遠い頂点を三角形ABCの​​反対の頂点に接続します。3つの正三角形のそれぞれに対してこれを行うと、3つの線すべての共通の交点が1つになります。これがフェルマーポイントです。 適切なマシンで5秒以内に実行されるはずです。 入力:3点のセット。必ずしも整数ではありません。これは、ネストされた配列、文字列、タプルのリストなど(あなたの言語に合ったもの)として取ることができます。 出力:フェルマーポイントの座標。ここでも、言語はポイントを最適に処理します。浮動小数点の不正確さは、あなたに対してカウントされません。 テストケース: [[1, 1], [2, 2], [1, 2]] --&gt; [1.2113248654051871, 1.788675134594813] [[-1, -1], [-2, -1], [0, 0]] --&gt; [-1, -1] [[-1, -1], [1, -1], [0, 1]] --&gt; [0, -0.42264973081037427] [[0, 0], [0.5, 0.8660254037844386], [-5, 0]] --&gt; [0, 0] [[0, 0], [0, …

9
CamelCase2snake_case()
snake_caseにキャメル記法のテキストを変換する機能を書く:FunctionForHTMLManipulationとなりfunction_for_html_manipulation 入力テキストは、多くの言語で単一の適切な識別子になります。英語の文字で始まり、その後に任意の数の英語の文字または数字が続く必要があります。他の文字(スペース、シンボルなど)は使用できません。 CamelCasedテキスト内の各「単語」は、テキストの先頭または数字の直後を除き、大文字で始まり、その後にゼロまたはそれ以上の文字が続きます。すべて同じです。数字のグループは個別の単語と見なされますが、そのまま通過します。 つまり、小文字の後に大文字が続く場合は、単語の区切りを示します。隣り合う文字と数字は、単語の区切りを示します。大文字の後に別の大文字と小文字が続く場合は、単語の区切りを示します。 ...lU...=&gt; ...l_u... ...l9...=&gt; ...l_9... ...U9...=&gt; ...u_9... ...9l...=&gt; ...9_l... ...9U...=&gt; ...9_u... ...UUl...=&gt;...u_ul... 両方Buy24Beersにbuy24beersなりbuy_24_beersます。 MacDonaldAndObrianになりmac_donald_and_obrianます。 MACDonaldAndOBrianになりmac_donald_and_o_brianます。
13 code-golf  string 

6
ブリッジハンドスコアリング
コントラクトブリッジを非常に興味深いものにしているものの1つは、非常に複雑な「人工」メタゲームです。採点のこのシステムは、そのほんの一部です。 Bridgeは、トリックをとるカードゲームです。各プレイヤーには13枚のカードが渡され、ゲームは入札から始まります。入札は、ゲームの残りの部分をどのようにプレイするかを決定するので、重要な部分です。あなたとあなたのパートナーが高すぎる(または低すぎる)入札をしないようにするために、この人工スコアリングシステムは、あなたのハンドがどれほど良いかを示すために開発されました。 得点 次にサンプルハンドを示します。 S:KQT5 H:J72 D:965 C:AK8 S、H、D、Cはスーツ(スペード、ハート、ダイアモンド、クラブ)を表し、残りはそれらのスーツのカードです。したがって、このハンドには、スペードのクイーン(Q)、スペードのキング(K)、スペードの10(T)、スペードの5、ハートのジャック、ハートの7などがあります。 スコアリングシステムは次のように機能します。 エース(A)ごとに4ポイント、キング(K)ごとに3ポイント、クイーン(Q)ごとに2ポイント、ジャック(J)ごとに1ポイントを獲得できます。他のカードはポイントを与えません。 スーツの4番目以降のカードはすべて1ポイントを与えます。したがって、ハートが6つある場合、2ポイントを獲得します。 カードが2枚しかないスーツでは、1ポイントが与えられます(これはダブルトンです)。カードが1枚しかないスーツでは、2ポイントが与えられます(これはシングルトンです)。特定のスーツにカードがない場合、3ポイントを獲得します(これは無効です)。(通常、これらはパートナーとの訴訟で合意した場合にのみカウントされますが、チャレンジをより面白くするためにそれらを含めています。) したがって、上記のハンドには13ポイントがあります。 チャレンジ 上記の形式のブリッジハンドが与えられたら、そのハンドのポイント数を計算します。スーツは常にスペード、ハート、ダイヤモンド、クラブの順にリストされ、カードは常にA、K、Q、J、T、9-2の順にソートされます。 サンプルの入力と出力 S:KQT5 H:J72 D:965 C:AK8 \-&gt; 13 S:AKQT6 H:54 D:J83 C:732 \-&gt; 12 S: H:KQT8754 D:A86 C:432 \-&gt; 15 S:9876 H:843 D:652 C:432 \-&gt; 0 S:AKQT5 H:AQJ6 D:Q3 C:AK \-&gt; 28 これはcode-golfなので、バイト単位の最短コードが優先されます。

10
素数インデックス付きの素数
最初の10000個の素数付き素数を出力/返すプログラムまたは関数を作成します。 n 番目の素数を呼び出すとp(n)、このリストは 3, 5, 11, 17, 31, 41, 59 ... 1366661 なぜなら p(p(1)) = p(2) = 3 p(p(2)) = p(3) = 5 p(p(3)) = p(5) = 11 p(p(4)) = p(7) = 17 ... p(p(10000)) = p(104729) = 1366661 標準的な抜け穴は禁止されており、標準的な出力方法が許可されています。完全なプログラム、名前付き関数、または匿名関数で答えることができます。
13 code-golf  math  primes 

7
レトロロケットを印刷する
(このSOの質問に触発された) 入力として、単一の正の整数nが与えられます。 できるだけ少ない文字で、頭部、尾部、およびn個のセグメントで構成される本文を含むASCIIアートのロケットを出力します。末尾のスペースや改行はありません。 ロケットの頭と尾は、nのどの値でも常に同じです。ボディは、交互に変わる2つの異なるタイプのセグメントで構成されています。例は、ロケットの構造を明確にする必要があります。 n = 1の出力 /**\ //**\\ ///**\\\ ////**\\\\ /////**\\\\\ +=*=*=*=*=*=*+ |\/\/\/\/\/\/| |.\/\/..\/\/.| |..\/....\/..| |../\..../\..| |./\/\../\/\.| |/\/\/\/\/\/\| +=*=*=*=*=*=*+ /**\ //**\\ ///**\\\ ////**\\\\ /////**\\\\\ n = 2の出力 /**\ //**\\ ///**\\\ ////**\\\\ /////**\\\\\ +=*=*=*=*=*=*+ |../\..../\..| |./\/\../\/\.| |/\/\/\/\/\/\| |\/\/\/\/\/\/| |.\/\/..\/\/.| |..\/....\/..| +=*=*=*=*=*=*+ |\/\/\/\/\/\/| |.\/\/..\/\/.| |..\/....\/..| |../\..../\..| |./\/\../\/\.| |/\/\/\/\/\/\| +=*=*=*=*=*=*+ /**\ //**\\ …

4
端数を削減しない方法
分数を間違った方法で減らす このコードとゴルフのチャレンジでは、間違った方法で減らすことはできますが、それでも同じ数になる分数を見つける必要があります。 注:ここで間違った方法で分数を減らすことには正確な定義があります。詳細を参照してください。 例: 64/16 = 6 4/1 6 = 4/1 = 4 もちろん、両方の6esを打つことはできませんが、ここでも正しい値になります。この課題では、このような例を見つける必要があります。 詳細 n入力として1つの正の整数を受け入れ、形式で分数のリスト/配列を出力/返す関数/プログラムを作成する必要があります numerator1,denominator1,numerator2,denominator2,... プログラムは、各分画のために見つけるために持っているa/bとa+b=nし、a,b&gt;0それを軽減することができるかどうか間違った方法を。(従来の方法で削減できるかどうか、または削減の多くの可能性があるかどうかは関係ありませんが、少なくとも1つの方法で間違った方法で削減できればよいだけです。) 定義 間違った方法は:割合を低減することができる間違った方法を場合にのみ、およびbで連続した数字が現れるのと同じ順序とあなたが部分文字列を削除する場合分数滞在の値が同じであれば。 例:1536/353を16/3に「減らす」ことができますが、これらの2つの値は等しくないため、この割合を間違って減らすことはできません。 間違った方法を減らすというこの定義には、正しい方法で減る分数も含めることができることに注意してください。これは、有効なステップであっても間違った方法110/10 = 11/1を減らすという定義の範囲内です。 得点 最小バイト数が優先されます。整数を受け入れ、stdin / stdoutを使用する配列またはプログラムを返す関数またはプログラムを作成するか、変数にnを保存し、プログラムの最後にリストを他の変数に保存する必要があると考えることができます。 テストケース 次のテストケースを含めてください(追加するテストケースを教えてください。それらのフラクションの数/予想される例の数はわかりません) n=80 (64/16 should be in this list) n=147 (98/49 should be in this list) n=500 (294/196 should be in this …

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