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

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

10
四元数の乗算
2つの四元数の四元数積を計算する名前付き関数またはプログラムを作成します。できるだけ少ないバイトを使用してください。 四元数 四元数は、複素数をさらに拡張する実数の拡張です。i四元数は、単一の虚数単位ではなくi,j,k、関係を満たす3つの虚数単位を使用します。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (Wikipediaページにもこれらの表があります。) 言い換えると、各虚数単位はに2乗し-1、2つの異なる虚数単位の積は残りの3番目の単位であり+/-、循環次数(i,j,k)が尊重されるかどうかに依存します(つまり、右手則)。したがって、乗算の順序が重要です。 一般的なクォータニオンは、実数部と3つの虚数単位の線形結合です。したがって、4つの実数で記述されます(a,b,c,d)。 x = a + b*i + c*j + d*k そのため、分配プロパティを使用して2つのクォータニオンを乗算し、正しい順序で単位を乗算するように注意し、結果で類似の用語をグループ化できます。 (a + b*i + c*j + d*k) * (e …

8
あなたの星座は何ですか?
生年月日(月と日)を入力として、対応する記号、要素、西部星座の質を出力するプログラムを作成します。この課題のために、これらはリンクされたウィキペディアのページの表とまったく同じように定義されています。 Sign Date Range Element Quality Aries March 21 to April 19 Fire Cardinal Taurus April 20 to May 20 Earth Fixed Gemini May 21 to June 21 Air Mutable Cancer June 22 to July 22 Water Cardinal Leo July 23 to August 22 Fire Fixed Virgo August 23 to …

2
内省的プログラミング:ソースと出力を分析するコード
文字の総数と、ソースおよび出力内の各文字の頻度を出力するプログラムを作成します。例に示されている形式に従う必要があります。 例 あなたのコードが abb1 その出力は My source has 4 characters. 1 is "a" 2 are "b" 1 is "1" Besides unquoted numbers, my output has 383 characters. 34 are " " 79 are " " 63 are """ 2 are "'" 2 are "," 4 are "." 2 are "1" …
13 code-golf  quine 

6
PIウィンドウ暗号化
これは、PI数字を使用してメッセージをエンコードする単純な暗号化方法です。この方法は単純です。 キーは、ウィンドウの開始位置を示す正の整数です。 スペースを含まない小文字のみを含む暗号化する文字列を指定すると、その長さを取得し、PIのN番目の数字を見つけて、数字で示された量だけすべての文字を右にシフトします。 たとえば、キーがで2、エンコードするhouse場合、2番目のキーから5桁のウィンドウを取得します。14159その後、次のようになります。 h -> i o -> s u -> v s -> x e -> n a。-プログラム/関数/アルゴリズムは2つのパラメーターを受け取ります。1つはスペースを含まない小文字とキーのみで構成される文字列で、1(1は3を参照)と1000の間の正の整数になります。以下の理由で、上記の精度でPIを計算するのにどれくらいの時間がかかるかよくわかりません。 b.-コード内でPIを自分で計算する必要があります。これは、Pi Dayと比較するためのきちんとしたWebページです。入力では、1000桁を超えるPIを計算することはありません。つまり、length(message)+ key <= 1000です。 Piを計算することにより、コード内でそれをハーコードしたり(コードゴルフのような)、コードに埋め込まれた定数を使用したり、三角関数のID(2 * acos(0))やWeb参照を使用したりしません。 c.-出力は暗号化された文字列になります。 これはコードゴルフの質問です。短いコードが勝ちます! 2014年7月14日に受賞の回答を受け入れます。
13 code-golf  pi 

9
窓に水があります
シナリオ 私は自分の車で道路に沿って運転すると、雨が降り始めます。雨滴が私の窓にランダムに降っていますが、今、私は自分自身に尋ねます、最大の接続された濡れた領域はどこですか? タスク 簡単にするために、ウィンドウは10 * 10の正方形のマトリックスに分割されます。あなたの仕事は、ウィンドウで最大の接続された水滴エリアを見つけることです。 入力 2つの可能な入力があり、2次元配列または1次元配列を使用できます。標準入力などの入力から選択できます。 例: // 2-dimensional: [[0,1,0,0,0,0,1,0,0,0], [0,1,1,0,0,0,0,1,1,0], [0,1,1,0,0,0,0,1,0,0], [0,1,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,1,0], [0,0,0,1,1,0,0,0,1,0], [0,0,0,1,1,0,0,0,1,0], [0,0,0,0,0,1,1,0,1,0], [0,0,0,0,0,1,1,0,1,0], [0,0,0,0,0,0,0,0,0,0]] // 1-dimensional [0,1,0,0,0,0,1,0,0,0, 0,1,1,0,0,0,0,1,1,0, 0,1,1,0,0,0,0,1,0,0, 0,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,1,0, 0,0,0,1,1,0,0,0,1,0, 0,0,0,1,1,0,0,0,1,0, 0,0,0,0,0,1,1,0,1,0, 0,0,0,0,0,1,1,0,1,0, 0,0,0,0,0,0,0,0,0,0] 出力 コードでは、最大の接続領域のサイズと、この領域に属する水滴のx座標とy座標を「サイズ:Z座標:(X1、Y1)(X2、Y2)..」の形式で出力する必要があります。 。 " 前の入力の例: Size: 6 Coordinates: (1,0) (1,1) (2,1) (1,2) (2,2) (1,3) 座標の順序は重要ではありません。 ルール 互いに直交する場合、水滴はつながっています …
13 code-golf 

4
不明な基数で表される番号を並べ替える
文字列のリストが与えられた場合、どのベースが使用されているかを知らずにリストを数字としてソートします。数字の値も不明です('1'>の可能性があります'2')。 桁の値は不明であるため、ベンフォードの法則(または最初の桁の法則)を使用して、桁の相対値を決定します。ベンフォードの法則に従う分布の場合、低い値の数字は高い値の数字よりも頻繁に先行数字として表示されます。 ルール これはコードゴルフです 文字列のリストは、選択したソース(stdin、変数、ファイル、ユーザーなど)から取得できます。 文字列はASCII文字に制限されています。 先行文字として表示されない文字は、最高値を持ちます。(ゼロがないと仮定し、先行周波数で厳密にソートします。) 他の文字と同じ回数だけ先行数字として表示される文字は、均等に重み付けされます。 例 未分類 ['c','ca','ac','cc','a','ccc','cx','cz','cy'] ソート済み ['c','a','cc','ca','cz','cy','cx','ac','ccc'] 注:例では、'cz'、'cy'および'cx'数字ので、任意の順序で5番目、6番目と7番目の要素として表示することができ'x'、'y'そして'z'均等に重み付けされます。
13 code-golf 

9
ワールドカップ推測プログラムを作成する
ご存知のとおり、ワールドカップグループステージは終了し、明日から最高の16チームがノックアウトステージを開始します。 ブラジル(BRA) メキシコ(MEX) オランダ(NED) チリ(CHI) コロンビア(COL) ギリシャ(GRE) コスタリカ(CRC) ウルグアイ(URU) フランス(FRA) スイス(SUI) アルゼンチン(ARG) ナイジェリア(NGA) ドイツ(GER) アメリカ(USA) ベルギー(BEL) アルジェリア(ALG) ノックアウトステージでは、各試合の後、勝者は次のラウンドに進み、敗者は家に戻ります(引き分けはありません)。ノックアウトステージの詳細については、ここをクリックしてください。 あなたは、プログラミングとスポーツベッティングの両方が得意であることが知られているため、新しい賭けのウェブサイトであるgolfbet.comに雇われました。あなたの仕事は、試合の勝者を推測できるプログラムまたは関数を書くことです。もちろん、誰もが異なる推測を行います。推測が一貫している限り、それは問題ではありません。 推測したくない場合は、次の推測を使用できます。 BRA BRA CHI BRA COL COL URU GER FRA FRA NGA GER GER GER ALG GER NED NED MEX NED CRC CRC GRE ARG ARG ARG SUI ARG BEL BEL …
13 code-golf 

9
キーボードのテスト
私の問題 現在の職場では、片手で(手足が足りないので両手でOK)、約700台のラップトップを保守しています。それらの使用の性質と頻度のために、私はしばしばそれらが少しの損傷で返されることを発見します。この問題に関して、私の主な関心事は、ラップトップが壊れたキーボードまたは機能しなくなったキーボードで返品されるときです。ハードウェア修理工がこれらの壊れたキーボードを修理するとき、それらをテストすることが必要になります。テストでは、それぞれ...および...すべて...単一...キーを使用します。なんてドラッグなの?問題は、キーを入力したかどうかを把握できなくなる場合があることです。 解決策? 次のプログラム/スクリプトを作成します。 ユーザー入力を受け取ります 提出時に(適切と思われる方法で)、各キーが押されたかどうかを判別します。 yesまたはno、またはすべてのキーを押すことに成功したかどうかを示す任意の方法を出力します。(明らかでない場合は、2つの可能な出力を回答に記載してください)。 仮定: 大文字、小文字、両方?どちらの方が適していると思いますか。[AZ]、[az]、または[A-Za-z]である限り。数字やその他の記号についても同様です。(したがって、=入力された場合、+問題ではありません)。シフト文字を含めるかどうかを選択します。 タブやスペースを気にする必要はありません ファンクションキー、CTRL、ALT、Esc、または画面に何かを出力しない他のキーは不要 これは、EN-USキーボードを想定しており、ラップトップにはテンキーが含まれていません。 OSに依存しない、あなたが好む言語 キーが複数回押されたかどうかは関係ありません(テスターが怠laになり、Mortal Kombatのようにボタンが破壊される場合) 以下は、true(またはyes、または "You done it!")を返す可能性のある入力セットです。 `1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./ 勝者は、文字の最小数によって決定されます。

8
++のみを使用して平方根を計算する
あなたの仕事は、次のような数学的な演算子を使用して数値を変更することなく、正の整数の平方根を計算することです。 変数の設定(例:squareRoot = 5) 加算(A + B) 減算(AB) 乗算(A * B) 部門(A / B) 正方形、立方体、4番目などの根 指数 比較演算子(<、>、==など)は、この質問の目的では「数学演算子」とは見なされず、変数の値を変更しない限り許可されます。 使用できる唯一の演算子は++です。次の例外があります。 必要に応じて、変数を0に設定して初期化できます。 言語に++構文が含まれていない場合、foo + = 1やfoo = foo + 1などの同等の構文を使用できます。 平方根は、小数を超える少なくとも6桁(1万桁)で計算し、小数の整数として出力する必要があります(例:2を入力すると、丸めに応じて14142135624または1414213として出力される可能性があります) 。切り上げまたは切り捨ては重要ではありません。 ユーザー定義関数は許可されていません。また、gotoを使用した関数のシミュレーションも許可されていません。 みんなが投稿したものを見てみたいです!ハッピーコーディング! 明確化 数値が正の整数であることを明確にします。任意の数のコードを作成できますが、必須ではありません。 明確化#2 比較演算子が許可されていることを明確にします。 明確化#3 加算、減算、乗算、除算、および数値を変更する関数は、変数に保存されているかどうかに関係なく、まったく許可されていません。申し訳ありませんが、これはいくつかの既存の回答を無効にしますが、トロールの回答を防止するために、この演算子グループを「番号の変更」と定義するつもりでした(例:sqrt()関数を使用しましたが、追加のみを禁止し、乗算、除算、減算)。混乱させて申し訳ありません。 明確化#4 少なくとも5桁が必要であることを明確にします。10桁により、コードが長時間実行されました。

2
フロッガー風ゲーム
古き良きアーケードゲームFroggerにコードゴルフスタイルのリバイバルを与えてみてはいかがでしょうか。 あなたの仕事は、できる限り少ない文字数のコードで、この古典的なゲームのバージョンを作成することです。選択した言語を使用します(jQueryなどのライブラリが許可されます)。 必要条件 あなたは3つのライフを持​​ち、以下から1つのライフを失います: ゲームシーンの外に移動します。 車両に襲われる。 水に飛び込む。 すでに占有されている家にジャンプします。 時間がない。 カエルは矢印キーで動きます。 5つの家(上部の草の間のスペース)の間隔が設定された「テレポート」バグがあります。 あなたが得る10歩前進を移動する際のポイントを、200ボーナスポイントのバグとキャッチ500個の空の家に到達したときにポイントを。 レベルごとにタイマーが刻み込みます(車両、カエル、ログも各レベルで速く移動する必要があります)。 5車線の車線と、丸太のある3車線とカメのある2車線があるはずです。 各レーンは、ランダムに選択された速度で移動する必要があります(理由内)。 利用可能な家が占領されると、カエルが開始点に現れ、あなたはそのカエルをその点からコントロールします。 5つの家がすべて占有されると、タイマーが再起動し、家が空になります。ゲームが終了すると、すべてのレベルのポイントが計算されて表示されます。 追加情報 スタート画面、音楽、ハイスコア表は必要ありません。また、ピクセルのデザインを模倣する必要もありません。白黒にしたいですか?本当にミニマルにしたいですか?または、カエルや車の代わりに立方体ですか?正常に動作します!コードを厳しくしてください。最短のコードが勝ちます!

7
Processingでのゴルフのヒント
誰か持っていたコード・ゴルフでゴルフのためのヒント処理を?これは、javaのグラフィカルな拡張機能であり、ゴルフにはやや困難です。
13 code-golf  tips 

8
アンダーロード番号の最短表現
フレーバーテキスト スタックベースのesolang Underloadは、関数型プログラミングといくつかの興味深い結びつきを持っています。それらの1つは、数値データ型の処理です。ラムダ計算のように、アクションをN回実行する関数によって自然数Nを表します。 物事を簡単にするために、Underloadコマンドの次のサブセットのみを考慮します。 : -このコマンドは、スタックの一番上のアイテムを複製します。 * - このコマンドは、単一の項目にスタックの一番上の二つのアイテムを連結します。 私たちは、定義過少数字Nを文字列として:と*、実行した、スタックの一番上の項目を消費し、そのアイテムが一緒に連結さのn個のコピーを生成します。いくつかの例: アンダーロードの数字0、-1、1 / 2、πはありません。 空の文字列 は、スタックに手を付けないため、Underloadの数字1です。 :*それはトップ・アイテムを複製し、次に単一の項目にまとめ、それらの2つのコピーを連結しているため、不足負荷数字2:(A):*= (A)(A)*=(AA)。 ::**アンダーロードの数字3です。(A)::**= (A)(A):**= (A)(AA)*= (AAA)です。 :::*** アンダーロードの数字4です。 :*:*また、アンダーロード数字4:(A):*:*= (AA):*= (AA)(AA)*= (AAAA)です。 一般に、MおよびNがアンダーロードの数字MおよびNである場合:N*、数字N + 1でありMN、数字M×N であることがわかります。 チャレンジ あなたの仕事は、文字列としての入力に対してアンダーロード数値の最短表現を生成する最短プログラム(STDINで入力を取得する)または関数(引数で入力を取得する)を記述することです。つまり、入力が正の自然数N> 1である場合、文字の長さが他のすべてのアンダーロード数字N以下であるアンダーロード数字Nを生成する必要があります。 サンプルの入力と出力:( "Input- OUTPUT。") 1- 。 2- :*。 5- ::*:**(2×2 + 1)。 7- ::*::***(2×3 + 1)または:::**:**(3×2 + …

1
Brainf ** kデバッガー
あなたの課題は、次のような入力を行うことです(Hello Worldプログラム): ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. プロンプトを出力します(これはになります"> ")。 > その後、ユーザーはプロンプトで何でも入力できます。単純なデバッガには次のコマンドが必要です。 S -ステップ Lステップ実行後に現在の場所を出力します(を参照)。 S(a positive integer) -多くのスペースをステップ L -場所 「ロケーション」という用語は、常にプログラム内のどこにいるかを指します(つまり、命令ポインター)。 このようにフォーマットされています: v +++++++[>+++++++<-]>. これは、プログラムの現在の場所が3番目であることを意味し+ます。 G(an integer) -に行きます これは、その場所に着くまで歩き続けることを意味します。プログラムの最後に到達し、そこに到達していない場合は、単にプログラムを終了します。 負の整数は、末尾から多くの文字を意味します。はい、この手段-0とは異なっている0、と-1最後の文字に2番目です。 このコマンドには何も出力しないでください。 D -ダンプ配列 のようなフォーマット 1, 2, 3, 4, 5 配列がの場合、1, 2, 3, 0, 0, 0, 0, 0, ...出力のみ1, 2, 3。 D(a positive integer) (a …

6
私のロボットは実験室を脱出しました!
私のロボットはどういうわけか短絡し、研究室のどこかからランダムに飛び出しました! 幸いなことに、彼がこれを行うたびにシャットダウンシーケンスが開始され、スイッチを切る前にランダムに5ラウンドにわたって向きを変えて走る十分な時間が与えられます。彼のジャイロと加速度計の機能は、彼がまだ活動している間、データを研究室に送り返しています。 たとえば、データは常に2つの数値の5つのセットの形式で提供されます。 12:234,-135:47,-68:230,140:324,127,87 あなたの使命は、ゴルファーは、a)ロボットがその現在の方位から回転するようにa1:d1,a2:d2,a3:d3,a4:d4,a5:d5、a(n)が時計回りの角度(度)の形式で5セットの数字を表示することにより、ロボットの必死の走りとターンシーケンスをシミュレートすること-179<=a<=+180です最初は、首をかがめて最初に回転する前にヘッディングがゼロになります)、およびd(n)は、次のヘディングが変わる前に実行したフィート単位の距離0<=d<=500です。およびb)ラボから計算された見出し(見出しも0に直面している)、フィート単位の距離(小数点以下3桁までの精度が強く推奨されます、もしあれば-5バイト)、および向きの見出し(度)オフになったときにロボットが向いている場所の 簡単な例: Data: 0:1,45:1,90:1,90:1,90:1 Heading: 0 Distance: 1 Orientation: -45 ランダムなターンと距離は、ランダムです。設定値をハードコーディングする必要はありません。コード内でランダムな動作を確認する必要があります。 ランダム性の制限:クロックまたは日付ベースの参照はありませんrandom。コード内にネイティブ参照を表示する必要があります。このコードを実行するときはいつでも、ランダム性は、各ターンランラウンドで360の可能な角度のうち1つを示す可能性を提示する必要があります。そのため、ロボットは1回転で-36度回転し、次の回転で+157度回転し、さらに-116度でさらに2度回転し、最後の回転で最後に+42度回転します。ランダムな角度の生成ごとに、少なくとも360の異なる値(-179〜+180度を含む)が可能でなければなりません。 走行距離の制限:同様に設定すると、ロボットが走行できる距離は0〜500フィート(0〜500フィート)であるため、ロボットの走行距離を決定するときにランダム性も利用できると考えています。ロボットは、理論的には、それぞれのラウンドで45、117、364、27、6フィートを実行できます... あなたに供給されるデータは常に整数値になります...ロボットは度の整数範囲で回転し、距離の整数範囲で実行されます。ただし、出力値は浮動小数点数になります... これはコードゴルフです。最短のコードが勝ちます...さあ、私のロボットを見つけに行きましょう! PS:私の「小数点以下3桁までの精度」に関連して、見出し(度で、小数点以下3桁の最小値まで)とフィート単位の距離(小数点以下3桁まで正確)を提供できる場合-5バイトのボーナスが得られます)。
13 code-golf  math 

11
スタック交換の評判を計算する
バックグラウンド: Stackexchangeサイトを閲覧しているときに、人々が自分の評判をどのように得るのか疑問に思うことがよくあります。私は自分の問題を解決するためにいつでもcodegolf SEに頼ることができることを知っているので、ここにあります: 人の評判を表す正の整数を受け入れるプログラムを作成します。報奨金は無視し、SEの担当者を獲得/失う唯一の方法であると言います(フルテーブルこちら)。 すべてのアカウントは1人の担当者で始まり、その下に行くことはできません あなたの質問は支持されています= +5 あなたの答えは支持されています= +10 あなたの質問はdownvoted = -2 あなたの答えはdownvoted = -2 答えをダウンボット= -1 あなたの答えは受け入れられます= +15 回答を受け入れる= +2 プログラムは、そのユーザーのアカウントで発生したアクションの数を把握して、担当者に連絡する必要があります。このレベルの担当者に到達するには、アクションの最短数を把握する必要があります。例: 入力:11出力:1回答アップ投票 入力:93出力:6つの回答が受け入れられ、1つの回答が受け入れられます これらの例で私が「質問への賛成票」と言うとき、それはその人の質問が賛成票を得たことを意味します。私が「答える」と言うとき、それは彼らが誰か他の人の答えを下げることを意味します。 ルール: code-golfなので、これを実行できる最短のコードが優先されます。
13 code-golf 

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