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

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

9
Stern-Brocotツリーで分数の位置を見つける
スターン- Brocotツリーは、各画分を上記のレベルでそれを隣接する2つの画分の分子と分母を添加することにより取得された画分の二分木です。 それは始まることによって生成される0/1と1/0そうように、一緒にこれらの画分の分子と分母を加えることによって分画の各連続対の間の1つの部分を配置することによって、反復、「エンドポイント画分」として、そこから: 0. 0/1 1/0 1. 0/1 1/1 1/0 2. 0/1 1/2 1/1 2/1 1/0 3. 0/1 1/3 1/2 2/3 1/1 3/2 2/1 3/1 1/0 4. 0/1 1/4 1/3 2/5 1/2 3/5 2/3 3/4 1/1 4/3 3/2 5/3 2/1 5/2 3/1 4/1 1/0 Stern-Brocotツリーの各反復(nth番目の反復)に2^n + 1は、シーケンス内の要素があり、そこから0/2^nに分数を割り当てることができ2^n/2^nます。新しい反復のたびに、連続する分数の各ペアの間に「中間」に1つの分数が挿入されます。 これにより、Stern-Brocotツリーは、正の有理数と0〜1の2進小数との間の1対1マッピングになり、2つのセットのカーディナリティが同じであるという証拠にもなります。 あなたの仕事は、最低項の正の有理数の分子と分母を与えられて、Stern-Brocotツリーにおけるその分数の位置に対応するバイナリ分数を決定するプログラムまたは関数を書くことです。 入力と出力の例を以下に示します。 …

6
Chess960位置発生器
環境 Chess960(またはFischer Random Chess)は、アルゼンチンのブエノスアイレスで1996年6月19日に公に発表された元世界チェスチャンピオンのBobby Fischerによって発明され提唱されたチェスの変形です。標準のチェスと同じボードとピースを使用しています。ただし、プレイヤーのホームランクの駒の開始位置はランダム化されます ルール 標準のチェスのように、白いポーンは2番目のランクに配置されます 残りのすべての白いピースは、最初のランクにランダムに配置されます ビショップは反対色の正方形に配置する必要があります 王はルークの間の広場に置かれなければなりません。 黒のピースは白のピースと等しく反対に配置されます。 From:http : //en.wikipedia.org/wiki/Chess960 回答を投稿したいすべての人々のために... 上記のルールに従って960ポジションのいずれかをランダムに生成できるChess960ポジションジェネレーターを作成する必要があります(960のいずれかを出力できる必要があり、1ポジションをハードコーディングすることは受け入れられません!)白ランク1個を出力します。 出力例: rkrbnnbq どこ: kキング qクイーン bビショップ nナイト ルーク これはコードゴルフになり、タイブレーカーが賛成票になります。

7
多角形の穴の数
問題:接続されたポリゴンの穴の数を数えます。ポリゴンの接続性は、入力三角形分割のすべての三角形が少なくとも1つの辺を別の三角形と共有し、そのような接続された三角形のセットが1つしかないという条件によって保証されます。 入力は、平面内Lのn点のリストと、Tからのエントリを含む3タプルのリストです0...n-1。Tタプル内の各アイテムは、三角形分割の三角形(t_1,t_2,t_3)の3つの頂点(リストからL)を表します。これは、「ポリゴンの三角形分割」の意味での三角形分割であることに注意してください。このため、Tそのオーバーラップに2つの三角形が存在することはありません。追加の規定は、あなたが入力をサニタイズする必要はないだろう、ということであるLとT任意の繰り返しが含まれていません。 例1:もしL = {{0,0},{1,0},{0,1},{1,2}}とT = {{0,1,2},{1,2,3}}、指定した多角形は0の穴数を持っています。 実施例2:場合L = {{0,0},{1,0},{2,0},{2,1},{2,2},{1,2},{0,2},{0,1},{.5,.5},{1.5,.5},{1.5,1.5},{.5,1.5}}とT = {{5,6,11},{5,10,11},{4,5,10},{3,8,10},{2,3,9},{2,8,9},{1,2,8},{0,1,8},{0,8,11},{0,7,11},{6,7,11},{3,4,10}}その後ポリゴン入力が2の出力をもたらすはずです。 タスクがかかる最短プログラム(または関数)を書くことであるLとT穴の数を入力し、リターンなどを。「勝者」は、文字数が最も少ないエントリ(仮の終了日は6月1日)として認識されます。 サンプル入力フォーマット(0のインデックス付けに注意): 0,0 1,0 0,1 1,2 0,1,2 1,2,3

10
出力コードサイズのLorem Ipsum
コードと同じ長さのLorem ipsumを出力します! ルール: コードを出力と同一にすることはできません 圧縮ライブラリなし 2週間で最短のプログラムが勝つ 簡単に(と任意のコードゴルフ問題を解決することができませいずれかでネットワークの使用状況、ファイルの読み込みはなく、他のトリックeval、execなど) 例 Your code with length 25. 出力 Lorem ipsum dolor sit ame

12
「Hello、World!」と入力します
を入力するキーボードイベントを生成するプログラムを作成しますHello, World!。 プラットフォームに依存する必要はありません。 キーを押したままにすることはできません。たとえば、Javaでは、押されたRobot.KeyPress('H');ままHになります。Robot.KeyRelease('H'); プログラムの実行時に、Caps Lockがオフになっていると想定できます。大文字を入力するには、Shiftキーを押しながら文字を押すか、Caps Lockを切り替えます。には!、おそらくshiftメソッドを使用する必要があります。 最短のコードが優先されます。

1
コンパイラを特定する
課題コンパイルできるかどうか、および失敗した場合以外の結果を返す 関数が提供さcompile(s: String): Integerれます(結果のコードは重要ではありません)。0s0 問題は、その関数がどの言語のために作られているのかわからないということです。そのため、関数に小さなコードスニペットを与え、それが返すものを観察することによって、それを理解するのはあなた次第です。良い点は、科学者のチームがあなたの前に試し、リストをC、C ++、C#、Java、JavaScriptに絞り込んだことです(これらは私が考えることができる同様の構文を持つ唯一の普及した言語です)。 ルール 一般的なコードゴルフ規則が適用されます。 厳密な出力形式はありません。読みやすく、理解できるものであれば問題ありません。 これらの5つの言語で十分でない場合は、自分のお気に入りを追加すると、追加の星(★)が与えられます(それは何もしません)。 注1:コンパイラーは、設計対象の言語の最新標準に準拠しています。 注2:私はJavaScriptがコンパイルされないことを知っていますが、いくつかの解析プロセスを通過します。有効なJavaScriptコードであれば、合格します
11 code-golf 

12
http://i.imgur.com/からランダムな画像を見つける
Imgurは無料の画像ホスティングサービスです。多くの人々がそれを使用しています。imgurリンクの例を次に示します:http : //i.imgur.com/T55muMD.png。ランダム(有効な)imgurリンクを継続的に出力するプログラムを作成します。たとえば、ここに私のプログラムのサンプル出力があります(自分で理解する必要があるいくつかのトリックが含まれているため表示されません): http://i.imgur.com/uFmsA.png http://i.imgur.com/FlpHS.png http://i.imgur.com/eAbsZ.png http://i.imgur.com/lEUsq.png http://i.imgur.com/RuveH.png http://i.imgur.com/BoEwB.png http://i.imgur.com/HVFGQ.png http://i.imgur.com/PZpMg.png http://i.imgur.com/DezCY.png 助けになるヒント: imgurが新しい場合、5文字のリンクが使用されていました。 imgurが新しい場合、数字は使用されませんでした。 これを活用して、文字のみの5文字のリンク画像のみを見つけてください。それが私のプログラムが行うことです。 また、すべての画像はとして保存され.pngます。 要件: 継続的に出力されるランダムなimgurリンク 50が繰り返しなしで出力される場合、リンクは十分に「ランダム」と見なされます アクセスするとき、リンクは画像でなければなりません リンクはで始まり、http://i.imgur.com/で終わる必要があります.png スコアはキャラクターの量です 私はJavaで452文字でそれをしました(ゴルフではTERRIBLE)。ここには示されていませんが、それはあなた自身が理解しなければならないいくつかのトリックが含まれているからです!)
11 code-golf 

19
数字のグループから各数字を返します
チャレンジ プログラムは、数字のグループ(コンマとハイフンで区切られたシーケンス)に含まれるすべての数字を返す必要があります。 ルール s シーケンス文字列です。 に含まれるすべての数値sは正です。 数は常に増加します。 数字は繰り返されない 答えたら、の出力を表示します s="1,3-5,9,16,18-23" 例 input(s) outputs ----------------- 1 1 1,2 1,2 1-4 1,2,3,4 1-4,6 1,2,3,4,6 1-4,8-11 1,2,3,4,8,9,10,11 幸運を。=)

4
古典的なヘビゲームを再作成する
課題は、できるだけ少ないバイトを使用して古典的なSnakeゲームを作成することです。 要件は次のとおりです。 ゲームは一般的な2次元レイアウトで実装する必要があります。ヘビは、マップの境界内で大きく成長できるはずです(これは、実際には、マップを小さくしすぎず、ここであなたの裁量を使用することを意味します)。 ユーザーは、選択したキーを使用してヘビを動かすことができますが、ヘビは自分自身を元に戻すことはできません(たとえば、西に行く場合、最初に北または南に行かなければ東に行くことはできません)。ヘビは、上、下、左、右(北、南、西、東)の4方向すべてに移動できる必要があります。 ヘビは長さ1から始まり、「食品」オブジェクトを食べるたびに長さが+1増加します 食べ物のオブジェクトは、ヘビが占有している場所以外の場所にランダムに配置されます ヘビが自分自身または壁に当たった場合、ゲームは終了します ゲームが終了すると、「スコア:[スコア]」という文字列が表示されます。[スコア]は、ゲーム中に食べた食品の数です。そのため、たとえば、ゲームの終了時にヘビが4つの「食べ物」を食べた(したがって5の長さを持っている)場合、「Score:4」が印刷されます。 コードで明示的に定義されていない限り、圧縮アルゴリズムはありません。 これが私のソリューション、908 Bytes、Python 2.7です。 import random as r import curses as c def g(s,w,l): while 1: p=[r.randrange(0,w),r.randrange(0,l)] for l in s: if l==p:continue return p s=[] d=[0,1] p=k=n=0 e=100 v={65:[-1,0],66:[1,0],68:[0,-1],67:[0,1]} z=c.initscr() w,l=z.getmaxyx()[0],z.getmaxyx()[1] c.noecho() z.clear() x=g(s,w,l) s.append([w/2,l/2]) z.nodelay(1) q=lambda h,i:range(h,len(i)) while k!=101: k=z.getch() …
11 code-golf  game 

19
ゴロムの自己記述シーケンスのn番目の項を計算します
前の質問に触発されました。 ゴロムの自己記述シーケンス g(n)は、シーケンス内で任意の自然数nがg(n)回繰り返されるシーケンスです。 シーケンスの最初の数は次のとおりです。 n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 g(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 7 8 g(4)= 3であり、「4」がシーケンス内で3回繰り返されていることがわかります。 の入力が与えられた場合n、output g(n)。 …

2
与えられた文字列で始まるメサはいくつですか?
次の条件が当てはまる場合、文字列の空でないリストをメサと呼びましょう。 リストされた各文字列は空ではなく、最初の文字列に出現する文字のみを使用します。 連続する各文字列は、前の文字列よりも正確に1文字長くなります。 リスト内の文字列は、リスト内の他の文字列のサブシーケンスではありません。 「メサ」という用語は、次のような視覚化からのものです(xsはさまざまなキャラクターになります)。 xx..x xx..xx xx..xxx . . . xx..xxx..x NB:有限数のメサだけが特定の文字列で始まることは数学的な事実です。サブシーケンスと サブストリングの違いに注意してください。たとえば、「anna」は「banana」のサブシーケンス(サブストリングではない)です。 チャレンジ: 任意の空でない英数字入力文字列を受け取り、その文字列で始まるメサの数を出力する最短のプログラムを作成します。 入力(stdin): 空ではない英数字文字列。 出力(stdout): 入力文字列で始まるメサの数。 得点: 勝者は、バイト数が最も少ないプログラムです。 メサの例 で始まるメサは1つだけaです。 a で始まるメサは1つだけaaです。 aa 多くのメサは以下で始まりabます: ab ab ab ab (and so on) baa aaa bbb bbba bbaa baaaa aaaaaa
11 code-golf 

8
タイピング速度テストを構築/ CPMを測定
ルール 選択した言語でタイピング速度テストを作成します! 1。選択した辞書を含むファイルを提供します(その中の「単語」はすべて改行で区切る必要があります)。経由でパイプするstdinか、コマンドライン引数としてその名前を指定します。 a できる 約 上 不在 ... 2。ファイルからランダムな単語を10個選択し(重複を許可しないでください)、次の方法で印刷します。 ->直接 ->地面 ->次へ -> 5 ... 3。これから費やした時間の測定を開始します! 4。ユーザーが10語すべてをできるだけ早く入力できるようにします(改行で終了します)。印刷OKあなたはマッチを持っているとき、印刷WRONG我々はタイプミスを持っている(または単語がすでに正常にこの実行に入力された)とき。 5。時計を止めろ!次に、次のように計算されるCPM(1分あたりの文字数)ベンチマークを印刷します(sum of the characters of the chosen words / time spent typing (seconds)) * 60。最も近い整数に丸めて、次の(サンプル)出力を再現します。 -> 344 CPMを獲得しました! サンプル実行 ->解決する ->側 ->開く ->大臣 ->リスク ->色 ->船 ->同じ ->サイズ ->剣 解決する OK 側 …
11 code-golf 

16
ASCIIボールインボックスアニメーション
*四角形(境界を含む20 x 10文字)内に移動するASCIIボールを表示するプログラムを作成します。ボールが長方形を横切ることはできません。たとえば、壁に当たったときにぶつかります。シーンは0.1秒ごとにクリアおよび再描画する必要があり、ボールはフレームごとにxおよびy方向に1文字移動する必要があります。どの言語でも書かれた最短のプログラムが勝ちます。 出力例(フレーム1) +------------------+ |* | | | | | | | | | | | | | | | +------------------+ 出力例(フレーム2) +------------------+ | | | * | | | | | | | | | | | | | +------------------+ 出力例(フレーム8) +------------------+ | | | | | | …

6
この日付までどのくらいですか?
考え方は次のとおりです。現在/今日の日付(関数が呼び出された時点)から引数として指定された日付までの時間の長さを出力する関数を作成します。 仮定: 入力日付は常に明日以降になります。 入力日が10年を超えることはありません。 ルール: 出力は次の形式である必要があります。「[z年]、[x月]、y日まで-入力日-」 出力時間枠(日/月/年)は正しく複数形にする必要があります。すなわち1 month、ない1 months 入力は、どの日付形式にすることができますが、( - 2012年3月15日- 2012年3月15日を3/15/12)を好みます。 例: プログラムが2012年3月15日に実行されると仮定します。 入力日3/20/12=5 days until 3/20/12 NOTの入力日付4/16/12=1 month, 1 days until 3/20/12 入力日2012.04.20=1 month, 5 days until 2012.04.20 NOTの入力日付2012.04.20=36 days until 2012.04.20 入力日10/31/17=5 years, 7 months, 16 days until 10/31/17 入力日3/15/13=1 year until 3/15/13 これはコードゴルフなので、最短のコードが勝ちます。 締め切りを設けるために、次の答えを選択します。 2012年3月23日! …
11 code-golf  date 

3
1つのソリューションのみでマルチレベルの5x5x5ラビリンスを作成する
この課題の目的は、以下を正常に実行する最短のコード(文字)を作成することです。 仕様: 5x5x5 labyrinthを正確に作成する必要があります1 possible solution(これ以上、それ以下) ラビリンスを作成する必要があります randomly 何年も実行を続ける場合、既存のソリューションをすべて生成できる必要があります。 startとfinishに配置する必要があります*opposite corners マップoutputは次のいずれかの形式である必要があります。 オプションの出力形式1 strings, printed or alerted: xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx オプションの出力形式2 arrays: [[xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx]] 出力ノート: 使用0のためにemptyと1のためにsquares ブレークラインがありませ必要 何indexが何であるかを決定しますが、それをうまく説明するようにしてください *ここに、私が反対の角を意味する例があります: 明確化: 入居できませんdiagonal 同じパスで2回渡すことはできません たinaccessible areas許可されています あなたはgo up/down連続して複数のレベルにすることができます チップ: それらを壁として見るのではなく5x5x5、それらのいくつかが欠落している正方形のスタックとしてそれらを見て、欠落しているものを通過することができます

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