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

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

11
特定のLCMとGCDを持つ数値のペアを見つける
私は私の友人と数学の質問に取り組んでいました、そして私たちは答えを見つけるスクリプトを書くことにしました。元の質問は次のとおりです。 2つの自然数の差は2010であり、それらの最大公分母は、最小公倍数より2014倍小さい。考えられるすべてのソリューションを見つけます。 私たちはプログラムを互いに独立して書き始め、それが機能するようになったとき、管理できる最小のバイト数を取得するためにプログラムを作成することに決めました。結局、この素晴らしいコード行は驚異的な89バイトになりました。 from fractions import*;print[i for i in range(10**6)if i*(i+2010)/gcd(i,i+2010)**2==2014] 最初の100万のiを列挙した短いコードをなんとか書き込めるかどうかを確認したかったのです。競争するのに十分な勇気があるなら、あなたは好きな言語を使うことができますが、Python 2があなたのコードを私たちのものと比較できるようにしたいと思います。 通常のルールが適用され、最短バイトが優先されます。標準コードのゴルフ抜け穴が適用されます。面白くない標準の「抜け穴」 楽しんで!
9 code-golf  math 

3
シーケンスの共通部分を印刷する
シーケンス 1からまで番号が付けられた4つの番号シーケンスが与えられ4ます。 OEIS0自然数が2進数でリストされている場合のの場所。シーケンスを計算する方法の例を次に示します。 0,1,10,11,100,101,110,111 ^ ^ ^^ ^ ^ 0 3 78 10 14 シーケンスの開始は次のようになります。 0, 3, 7, 8, 10, 14, 19, 20, 21, 23, 24, 27, 29, 31, 36, 37, 40, 45, 51, ... OEISこのシーケンスには、最初の自然数が含まれ、次の2つがスキップされ、次に次の3つが含まれ、次に次の4つがスキップされて続行されます。 0, 3, 4, 5, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, …

4
数値をレプディジットの合計に分解します
Repdigitsは、フォームの数であるa * (10^n - 1)/9と a in [-9,9]\{0}(すなわち111、-3333、66、一つだけ桁を繰り返すことによって製造される数字で) 目標: 1つの正の整数Nを取得して出力するプログラムまたは関数を記述しN = s_1 + s_2 + ... + s_kます。1行に1つの数字があり、数字は右揃えである必要があります。2つの被加数が同じ桁数であってはならず、ゼロを追加することはできません。出力は昇順または降順(桁数)で並べる必要があります 例: in: 24192 out: 24192 = 22222 + 2222 - 222 - 33 + 3 in: 24192 out: -7 -22 +888 +1111 +22222 =24192 in: 113 out: 113= NOT 111+ no empty …

5
ホール2-プライムクイン
ここでホール1を見つけます。 実行すると、独自のソースコードブロックを複数回出力するquineを作成します。実際には、n回出力する必要があります。nは次の素数です。 例がそれを最もよく示していると思います。 [MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] 各プログラムは、次の素数回、そのベース "ブロック"([MY QUINE])を出力します。 数値が素数かどうかを計算する組み込み関数(isPrime関数など)、または次の素数を決定する関数(nextPrime()関数など)は許可されていません。 これは、除数の数をリストする関数は許可されないことを意味します 素因数分解を返す関数も同様に許可されていません これは本当の意味でのクイン(ある程度の余裕がある場合を除いて、次のポイントを参照)であるべきなので、独自のソースコードを読むべきではありません。 JavaやC#などの言語はすでに不利な立場にあるため、完全に機能するコードを出力する必要はありません。関数に呼び出され(それが呼び出され)、次のクインを出力できる場合は、問題ありません。 これはコードゴルフなので、最短のコードが勝ちます!

14
それは何年のことか?
2014年12月で、2015年はもうすぐ始まります。しかし、誰もがこれを実現しているわけではないようです。 しかし、PPCGの人々が助けに来ます! 入力 プログラムには壁のようなグリッドが与えられ、12月の月の日は11月と1月の日とは異なります。毎週日曜日から始まり、土曜日に終わります。 月内の日はで表されます#。月の外にある日は、(スペース、ASCIIコード32)で表されます。毎週別々の行にあります。行は改行文字(\n)で区切られます。プログラムでは、入力の最後に改行を省略するか含める必要があります。 たとえば、これは2009年12月の入力です。 ##### ####### ####### ####### ##### カレンダーは常に12月です。 仕事 入力を指定すると、カレンダーに関連付けられている年を見つける必要があります。カレンダーが一致する年は複数あるため、2015に最も近い年(2015より前)を返す必要があります(2015自体を除く)。 プログラムは、2015年に近い別の年(2015年より前)と同じ12月のカレンダーレイアウトを持つものを除き、2015年未満のすべての年について正しい出力を生成する必要があります。 年が2014年未満の場合は、2014との年の差も計算する必要があります。たとえば、2012の場合、差は2です。 出力 プログラムの出力は次のようになります。 テキスト:(Your calendar is for <year>.注:これはもともと「カレンダー」と綴られていたので、その綴りも受け入れます。) 改行が続く(\nまたは\r\n)。 次のテキスト: It's almost 2015. 年が2014年未満の場合は、この後にテキストを続けるYou're <difference> years behind.必要があります。これは別の行にする必要があります。 改行が続く(\nまたは\r\n)。 次のテキスト: Go buy a new calendar! 必要に応じて、改行(\nまたは\r\n)を続けます。 ルール カレンダーをコマンドライン引数(例:)として受け取るかyourprogram.exe <calendar>、ユーザー入力を求めるかを選択できます。 プログラムが無効な入力を受信しないと想定する場合があります。無効な入力には、年が存在しないカレンダーレイアウトが含まれています。 最短のコード(バイト数、任意の言語)が優先されます。 非標準のコマンドライン引数(スクリプトの実行に通常必要とされない引数)は、合計文字数にカウントされます。 プログラムで禁止されていること: 外部リソースに依存します。 特定のファイル名を持つことに依存します。 必要な出力以外のものを出力します。 …

1
タブ譜に関する注記
チャレンジ リストにメモを指定すると、対応するタブ譜を返す必要があります。 ノート 音符はAからGまでの範囲で、オクターブの範囲は2から6までの範囲でなければなりません。形式は#シャープでbフラットを表すノートオクターブです。例:A7またはF#3。 タブ タブラチュアは、楽器を図で表すことにより、音楽を書く方法です。通常は、番号が付いた5本の線で表されます。 線に書かれている数字は、希望のピッチを得るために使用されるフレットを表しています。たとえば、譜表の一番上の行に書かれている数字3は、プレーヤーが高E(最初の弦)の3番目のフレットを押し下げる必要があることを示しています。数字の0はナット、つまり開いた弦を示します。 フレット数は22以下で、ギターは6弦です。 タブ譜は標準のASCII形式である必要があります。テクニックインジケーター(ハンマーオン、スライドなど)は含めないでください。各ノートを5つのダッシュで区切ります。2桁の場合は、ダッシュの数を4に減らします。 タブの最初は次のようになります。 e |----- B |----- G |----- D |----- A |----- E |----- そして最後は次のようになります: -----| すべての行。 (ソース:justinguitar.com) 例 Input: C3 C3 D3 E3 F3 Output: e |-----------------------------------| B |-----------------------------------| G |-----------------------------------| D |-----------------0-----2-----3-----| A |-----3-----3-----------------------| E |-----------------------------------| 勝利 最短のコードが勝ちます

6
マイケルクライトンのネズミ捕り
1984年、マイケルクリクトンはクリエイティブコンピューティング誌に掲載されたBASICのセキュリティプログラムを書きました。プログラムは、ユーザーに自分の選択した語句を入力するように要求し、キーストローク間の間隔を記録してから、語句を再入力するように要求します。タイミングの違いが大きすぎる場合、プログラムはユーザーを詐称者として識別します。 課題:選択した言語でバージョンのCrichtonのプログラムを作成します。 ルール: ユーザーとのコミュニケーションのためのフレーズ(「キーフレーズを入力してください」、「キーフレーズをもう一度入力してください」など)は、実際の長さに関係なく、それぞれ1バイトとしてカウントされます。これはユーザー通信専用です。文字列内のプログラムコードを非表示にしないでください。 合格/不合格テストは、元の間隔からのパーセンテージ分散の平均絶対値に基づいている必要があります。文字列が一致しない場合、失敗を返すか、ユーザーの裁量でユーザーが再試行できるようにします。 キーフレーズはnull文字列を許可しないでください。キーフレーズが文字列データ型に対して長すぎる場合は、自由に切り捨てるか、許可せずにやり直してください。 テストの感度(合否テストのしきい値)は、ソースコードで調整可能である必要があります。 私はもともと、恐竜によく似たソースコードをフォーマットできる場合、合計バイト数の20%のボーナスを提供しました。これは非常に主観的であり、人気コンテストにおそらくより適切であると指摘されたので、このボーナスを削除しました。ただし、恐竜のフォーマットを心から推奨しています。恐竜のようにコードをフォーマットすると、純粋な表面的なコメント、改行、または空白文字をバイト合計から差し引くことができます。 文字列長と恐竜のフォーマット調整に応じて、最短のバイト数が優先されます。 上記の私の仕様は、リッチトンのコードの操作と完全には一致していないことに注意してください。そのコピーはオンラインで見つけることができます。仕様に従ってください。オリジナルのクローンを作成しないでください。
9 code-golf 

3
有効なフィボナッチタイルを生成する
バックグラウンド フィボナッチタイリングは、短いセグメントSと長いセグメントLの 2つのセグメントを使用した(1D)ラインのタイリングです(長さの比率は黄金比ですが、この課題には関係ありません)。これらの2つのプロトタイルを使用してタイリングを実際にフィボナッチタイリングにするには、次の条件を満たす必要があります。 タイリングには、サブシーケンスSSを含めることはできません。 タイリングには、サブシーケンスLLLを含めることはできません。 次のすべての置換を実行して新しいタイリングを構成する場合でも、結果はフィボナッチタイリングでなければなりません。 LL → S S → L L → (空の文字列) いくつかの例を見てみましょう: SLLSLLSLLSLS 2つの* S *または3つの* L *が含まれていないため、これは有効なタイリングのように見えますが、構成を実行してみましょう。 LSLSLSLL それでも問題はないように見えますが、これをもう一度作成すると、 LLLS これは有効なフィボナッチタイルではありません。したがって、前の2つのシーケンスも有効なタイリングではありませんでした。 一方、 LSLLSLSLLSLSLL これを繰り返して短いシーケンスに構成します LSLLSLLS LSLSL LL S これらの文字列内のどこかでSSまたはLLLを取得することはないため、すべての結果は有効なフィボナッチタイルです。 さらに読むために、このタイリングをペンローズタイリングの単純な1Dアナロジーとして使用する論文があります。 チャレンジ 非負の整数Nを指定すると、N文字(SまたはL)を含む文字列の形式ですべての有効なフィボナッチタイリングを返すプログラムまたは関数を記述します。 関数の引数STDINまたはARGVを介して入力を受け取り、結果を返すか印刷することができます。 これはコードゴルフで、最短の回答(バイト単位)が勝ちます。 例 N Output 0 (an empty string) 1 S, L 2 …

1
Google検索結果のグラフ化
Googleで何かを検索すると、ページの上部近くにのようなメッセージが表示されますAbout 53,000,000 results (0.22 seconds)。(もちろん、何を検索したかによって数字が変わります。) この課題では、特定の検索フレーズの空でないすべての接頭辞が検索されたときに、Googleから提供された結果数の対数 ASCIIグラフを描画するプログラムを作成します。 検索フレーズは、互いに1つのスペースで区切って、小文字の英数字の一つ以上の文字列として定義されています。正規表現では、検索フレーズは(?:[a-z0-9]+ )*[a-z0-9]+です。 ですからim ok、r、および1a 2すべての検索フレーズがありますが、I'm OK、R、1a 2、と、ではありません。 (Googleではほとんどの場合、大文字や特殊記号が考慮されないため、文字の制限が設けられています。URLで英数字以外の文字をエスケープするのも面倒です。) スペック プログラムは、stdinまたはコマンドラインから検索フレーズと正の浮動小数点数Hを取り込む必要があります。(あなたはそれらが有効であると仮定することができ、引用句または検索フレーズの周りに何かが必要な場合は問題ありません。) 実際の例として、検索フレーズがa carHで0.75であるとします。 ステップ1: 検索フレーズの空でないプレフィックスを収集し、二重引用符で囲みます。引用符により、正確なフレーズが確実に検索され、「もしかして...」のリダイレクトが回避されます。 などのスペースで終わるすべてのプレフィックスを除外しa[space]ます。 Prefixes "a" "a c" "a ca" "a car" ステップ2:https://www.google.com を使用して、表示されるとおりにこれらの各用語を検索し、返される結果の数をメモします。 Search Term Message Results "a" About 6,950,000,000 results (0.27 seconds) 6950000000 "a c" About 861,000,000 results (0.27 seconds) …

4
ムーア反復
情報 1から9までの数字はそれぞれMoore's Neighborhoodのセルを表し、5が中央のセルです。そう: 123 456 789 1={-1,-1} 2={-1, 0} 3={-1, 1} 4={ 0,-1} 5={ 0, 0} 6={ 0, 1} 7={ 1,-1} 8={ 1, 0} 9={ 1, 1} チャレンジ STDIN、ARGV、または関数の引数を介して入力を取得し、結果を返すか、STDOUTに出力できます。入力はN x Nグリッド(トーラストポロジ、つまりxまたはyが<1の場合はxまたはy = N、xまたはy> Nの場合はxまたはy = 1)であり、プログラムはその1つの反復を出力する必要があります各セルをムーアのNeighborhoodセルの値で置き換えることによりグリッド。 入力グリッドの例(2 x 2): 13 79 出力: 97 31 説明: 位置1,1から開始して、値1があります。値1 = {-1、-1}は、1 +(-1)、1 +(-1)= …
9 code-golf 

7
カスタムアルファベットで並べ替え
課題は、単語のリストを並べ替えるプログラムを作成することです。単語がランダムに与えられたアルファベットの順序である必要があるだけです。 プログラムは、コンマ区切りの文字列と新しいアルファベットを受け入れます。 プログラムは、すべての単語を同じ方法で新しいソート順に出力します。 例: 入力: home,oval,cat,egg,network,green bcdfghijklmnpqrstvwxzaeiouy 出力: cat,green,home,network,egg,oval これはコードゴルフですので、勝者は最短のプログラムを持つ人です。 これは私の最初の課題ですので、質問/チャレンジの改善はありがたいです。

4
OCamlでのゴルフのヒント
他の「言語xyzでゴルフするためのヒント」の品揃えに触発されました。通常どおり、一般的なプログラミングではなく、OCamlに固有のヒントのみを提案してください。回答ごとに1つのヒントを入力してください。
9 code-golf  tips 

11
ブルガリアソリティア
ブルガリアソリティアは、マーティンガードナーがScientific Americanの数学的コラムで人気を博したシングルプレイヤーゲームです。です。 あなたが持っている N同じカードを山に分けています。あなたは各山からカードを取り、取り除かれたカードで新しい山を形成します。すでに見た状態に到達するまでこのプロセスを繰り返し、続行するとループが繰り返されます。 たとえば、8カードが5あり、の山との山に分割されているとします3。杭のサイズを降順に記述します5 3。ここにゲームのトランスクリプトがあります: 5 3 4 2 2 3 3 1 1 4 2 2 あなたは最初の山を残し、2つの山のそれぞれからカードを取り外す4と2、との新しく作成された杭2与えます4 2 2。次のステップでは、これらは減少3 1 1し、新しいの山が続き3ます。最後に、最後のステップでサイズの山が空になり、すでに表示されているものが1生成さ4 2 2れるため、停止します。 パイルサイズの合計は同じままであることに注意してください。 あなたの目標は、与えられた開始構成からゲームのそのようなトランスクリプトを印刷することです。これはコードゴルフなので、最も少ないバイトが勝ちます。 入力 初期の杭サイズを表す降順の正の数のリスト。STDINまたは関数入力を介して入力を取得します。リストのような任意の構造を使用できます。 N入力としてカードの総数を取得しません。 出力 ブルガリアソリティアのゲームが通過するパイルサイズのシーケンスを印刷します。返却ではなく、印刷が必要であることに注意してください。各ステップは独自の行である必要があります。 各行には、のない降順の正の数のシーケンスが必要0です。セパレータ、開始トークン、終了トークンを使用できます(たとえば、[3, 3, 1, 1])。数字は複数の桁を持っている可能性があるため、何らかの方法で分離する必要があります。 リピートに至るまで、見ているパイルサイズのスプリットを印刷します。したがって、最初の行は入力であり、最後の行は前の行の繰り返しでなければなりません。他の繰り返しはありません。 テストケース >> [1] 1 1 >> [2] 2 1 1 2 >> [1, …
9 code-golf  game 

15
変換しない文字列の合計
2つの文字列入力を受け取り、これらの2つの文字列の合計を、intに変換したり、数値データ型を使用したりせずに出力する必要があります。 例: string one = "123"; string two = "456"; string sum = "579"; 文字列は10桁を超えないものとします。 これはコードゴルフであり、キャラクターの勝利における最短の答えです。C#で回答を編集すると、笑顔になります:)。 編集:intへの変換は、このような性質のものとして定義できます Int.TryParse、(int)、Convert.ToIntなど

3
ASCIIアートコードジェネレーター
フォーマットされたBrainfuckコードを生成するプログラムがあります。プログラムを実行します ./example "S" そして出力は +[>+ < +++ ] >--. BrainfuckでSを出力します。 あなたの目的は、文字列を入力として受け入れ、その文字列を出力する別の言語でソースコードを出力するプログラムを書くことです。 プログラムが出力するソースコードは、ASCIIアートで文字列を表すようにフォーマットする必要があります(垂直ではなく水平に印刷されます)。 ソースコードに文字列を含めることはできません(ただし、文字列内に出現する文字を含めることはできますが、順番にではありません)。 そうでなければ、 標準の抜け穴が適用されます。 最短のコードが勝ちます。 提出物に、それが書かれている言語、出力する言語、および合計サイズ(バイト)でタイトルを付けてください。文字列UNCOPYRIGHTABLEを入力するときは、プログラムの出力を含めてください。 ありがとう!

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