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

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

8
Qeng Hoの時間単位
Vernor Vingeの素晴らしい魅力的な本A Deepness in the Sky (ちなみに1を強くお勧めします)では、さまざまな星系にまたがる文化であるQeng Hoは、「日」、「月」、「年など」など、独自の計時システムがあり、時間を完全に秒単位で測定します。最も一般的に使用される単位は、Ksec(キロ秒)、Msec (メガ秒)、およびGsec(ギガ秒)です。これは、自分の本のコピーからの便利なチャートです(オンラインで見つけることができないため)。 現在、ファムヌウェンで飛行していますが、「地球」と呼ばれる未知の未知の惑星からメッセージを受信しました。2彼らはあなたとは異なる時間単位を使用し、コンピューターはそれらを認識しません。船の常駐のプログラマー考古学者としてのあなたの仕事は、地球の時間単位を認識するように時間処理コードを修正することです。 当然のことながら、あなたはさらに数キロ秒間コールドスリープ状態になっていないので、コードをできるだけ短くして、迅速に記述できるようにする必要があります。幸いなことに、恒星間の取引文化として、Qeng Hoは発明されたすべてのプログラミング言語にアクセスできます。 入力 入力は、1つ以上のスペースで区切られたコンポーネントを含む単一の文字列になり ます。成分は、 > 0の整数として定義され、≤255は、空間、及びその後の一つであるsecond、minute、hour、day、week、month、 year、decade、又はcenturyおそらくは複数(添加とともに、sまたは centuries最後の場合)。 有効な入力例を次に示します。 10 days 12 hours 1 year 184 centuries 1 second 9 weeks 6 days 2 hours 1 minute 20 seconds 入力について次のことを想定できます。 ユニットの複数化は、常に関連する数と一致します。 入力に複数のコンポーネントがある場合、それらは常に長さの降順になります。 この課題のために、さまざまな入力ユニットの意味を以下に示します。 unit relative absolute --------------------------------------- second 1 …
40 code-golf 

24
テキストをセンタリング!
テキストをセンタリング! この課題では、さまざまな線を中央に配置します。 例 Foo barbaz Foo barbaz Hello World Hello World Programming Puzzles & Code Golf Programming Puzzles & Code Golf 仕様書 各入力行には常に少なくとも1つの非空白文字が含まれます。空白文字はスペース()と改行のみであると想定できます。各入力行には、末尾の空白や先頭の空白はありません(改行を除く)。出力の末尾の空白は許可されません。 入力の最も長い行の中央に配置する必要があります。その行の長さが偶数の場合、プログラム/関数は左に中央揃えすることを選択する必要があります。行の最大長は言語で処理できるものであれば何でもかまいませんが、プログラムは少なくとも500行の行で機能する必要があります。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes …

30
2016年の明けましておめでとうございます!
入力は1970年から2090年までの整数で、1年を表します。プログラムは、入力された年と同じ曜日に新年が当たる翌年を出力する必要があります。 テストケース: 以下はサンプルの入力と出力です 2001 => 2007 2047 => 2058 2014 => 2020 1970 => 1976 1971 => 1982 1977 => 1983 2006 => 2012 20%ボーナス:元旦の曜日を出力します 2001 => 2007 (Mon) 2047 => 2058 (Tue) 2014 => 2020 (Wed) 1970 => 1976 (Thu) 1971 => 1982 (Fri) 1977 => 1983 (Sat) 2006 …

30
ビットとバイトを使用したプログラミング
この課題では、私が作成した単純な言語のインタープリターを作成します。この言語は、1バイトのアキュムレーターAに基づいています。プログラムの開始時、A =0。これらは言語の指示です。 !:反転 この命令は、単にアキュムレータのすべてのビットを反転します。すべてのゼロが1になり、すべてのゼロがゼロになります。シンプル! >:右シフト この命令は、Aのすべてのビットを1つ右にシフトします。左端のビットはゼロになり、右端のビットは破棄されます。 <:左シフト この命令は、Aのすべてのビットを1桁左にシフトします。右端のビットはゼロになり、左端のビットは破棄されます。 @:ナイブルを交換 この命令は、Aの上位4ビットを下位4ビットと交換します。たとえば、Aが01101010で実行する場合、Aは次のよう@になります10100110。 ____________________ | | 0110 1010 1010 0110 |_______| それがすべての指示です!シンプルでしょ? ルール プログラムは、最初に入力を1回受け入れる必要があります。これはコード行になります。これはインタラクティブなインタープリターではありません!入力を1回だけ受け入れることができ、その行が実行された後に開始にループバックする必要はありません。 プログラムは、上記の入力を評価する必要があります。上記以外の文字はすべて無視されます。 プログラムは、アキュムレータの最終値を10進数で出力する必要があります。 有効なプログラミング言語の通常の規則が適用されます。 標準の抜け穴は許可されていません。 これはcode-golfであり、最小バイトカウントが優先されます。 以下は、提出物をテストするための小さなプログラムです。矢印の前にコードがあり、その後に予想される結果があります。 ! -> 255 !>> -> 63 !<@ -> 239 !nop!&6*! -> 255 楽しい!

30
2文字のスクラブルワードをすべて印刷
チャレンジ: Scrabbleで使用可能な 2文字の単語を、できるだけ少ないバイト数で印刷します。ここにテキストファイルリストを作成しました。以下も参照してください。101個の単語があります。CやVで始まる言葉はありません。最適ではない場合でも、クリエイティブなソリューションが推奨されます。 AA AB AD ... ZA ルール: 出力された単語はどういうわけか分離しなければなりません。 大文字と小文字は区別されませんが、一貫している必要があります。 末尾のスペースと改行を使用できます。他の文字は出力されません。 プログラムは何も入力しないでください。外部リソース(辞書)は使用できません。 標準的な抜け穴はありません。 単語リスト: AA AB AD AE AG AH AI AL AM AN AR AS AT AW AX AY BA BE BI BO BY DE DO ED EF EH EL EM EN ER ES ET EX FA FE …

12
沈むか泳ぐか
問題 最悪のシナリオは、単一のライン上の3つの数字で記載されn、mおよびp。その行に続くのは、行ごとの値nをm持つ行です。各値は、各セルが保持できる水の合計単位を表します。 次のp行は、翌日の天気を説明していpます。1ユニットの雨が毎日1つのセルに降ります。セル内の水の量が保持できる量を超えると、そのセルはあふれます。複数の隣接するセルがフルキャパシティの場合、それらは共通の隣接セルを共有する1つのセルとして扱われます(空白のグループをクリックするとマインスイーパを考えてください)。 単一の中央セルには4つの隣接セルがあります 2つの隣接するフルキャパシティの中間セルは、6つの隣接セルを持つ1つのセルとして扱われます 単一のコーナーセルには2つの隣接セルがあります 1つの壁のセルには3つの隣接セルがあります セルがフラッディングすると、フラッドイベントが発生します。過剰な水はすべて、近隣に均等に分配されます。それが原因で1つ以上のネイバーがフラッディングする場合、別のフラッドイベントが発生します。これは、水が落ち着くか、都市が完全に浸水するまで続きます。 入力例 7 5 3 3 2 3 4 5 2 2 0 3 4 1 1 2 3 3 4 1 2 2 2 4 1 1 2 2 4 4 1 2 2 4 4 2 2 2 0 0 1 …
40 code-golf 

30
追加せずに追加(または4つの基本算術演算子のいずれか)
問題: 目標は、次の数学演算子を使用せずに2つの入力数値を追加することです+,-,*,/。 また、これらの数学演算子を置き換えるように設計された組み込み関数は使用できません。 得点: 最小のコード(バイト数)が優先されます。 更新 私が見たプログラムのほとんどは、番号を含む2つの配列を連結するかfirst number、文字で構成し、文字を追加second numberしてからすべてをカウントします。 最短配列カウンター:8文字のAPL、Tobia著 最短配列連結:Doorknobによる4文字のGolfscript 最短対数ソリューション:Quincunxによる19文字のTI-89 Basic 統合ソリューション:45文字のMathematica、マイケル・スターン クールな、私の意見では:javascriptのビット演算子、デイブ

22
ポイントが三角形の内側にあるかどうかを確認します
あなたの目標は、与えられた2DポイントXが与えられた頂点A、B、Cを持つ三角形の領域内にあるかどうかを判断することです。 テストポイントXと3つの三角形の頂点の座標(合計8座標)を取り、ポイントがその三角形の内側にある場合はTrueを返し、外側にある場合はFalseを返す関数を記述します。 エッジケースを心配しないでください。ポイントが三角形(エッジまたは頂点)の境界上にある場合、または三角形が実際に線分である場合、コードはクラッシュを含む何でもできます。また、数値の安定性や浮動小数点の精度について心配する必要はありません。 コードは名前付き関数でなければなりません。コードスニペットは受け入れられません。 最も少ないキャラクターが勝ちます。 入力: 座標を表す8つの実数。数値は範囲内にあります(-1,1)。 正確な入力形式は柔軟です。たとえば、8つの数字、8つの数字のリスト、それぞれタプルで与えられる4つのポイントのリスト、2 * 4マトリックス、4つの複素数、x座標とy座標の2つのリスト、等々。 入力は、追加データなしで、何らかのコンテナ内の数値である必要があります。入力を使用して前処理を行うことはできません。また、ポイントを昇順のy座標で指定する必要があるなど、入力に制約を必要とすることもできません。入力では、任意の8つの座標を許可する必要があります(ただし、前述のエッジケースではコードは任意に動作できます)。 入力形式を明記してください。 出力: 対応するブール値True/ False、対応する数値1/ 0、または使用言語の類似物。 テストケース 入力には[X,A,B,C]、最初にテストポイント、次に3つの三角形の頂点の4つのタプルのリストが与えられます。私は、その出力である必要があり、それらにそれらをグループ化してきましたTrueし、あるべきものFalse。 True インスタンス: [(-0.31961, -0.12646), (0.38478, 0.37419), (-0.30613, -0.59754), (-0.85548, 0.6633)] [(-0.87427, -0.00831), (0.78829, 0.60409), (-0.90904, -0.13856), (-0.80685, 0.48468)] [(0.28997, -0.03668), (-0.28362, 0.42831), (0.39332, -0.07474), (-0.48694, -0.10497)] [(-0.07783, 0.04415), (-0.34355, -0.07161), (0.59105, -0.93145), …

30
ランダムパスワードジェネレーター
ドメインサーバーでは、すべての従業員が次のルールに準拠した強力なランダムパスワードを持っている必要があります。 正確に15文字の長さ。 キーボードで入力可能な文字のみ(以下のコードタイプに示すとおり)。ALT + NUMPADコードを使用するように販売を教えることは許可されていません。 少なくとも1つの小文字: abcdefghijklmnopqrstuvwxyz 少なくとも1つの大文字: ABCDEFGHIJKLMNOPQRSTUVWXYZ 少なくとも1桁の数字: 0123456789 少なくとも1つのシンボル: `~!@#$%^&*()_+-={}|[]\:";'<>?,./ この目的のために、ITはすべての従業員にランダムパスワードジェネレーターを委託し、配布します。すべての従業員は、ランダムパスワードジェネレーターを使用する必要があります。ランダムパスワードジェネレーターの要件は、上記のパスワード制限に加えて次のとおりです。 すべての許容文字のすべての順列を生成できる必要があります。 生成されたパスワードを画面に表示する必要があります。 コードはできるだけ小さくする必要があります(バイト単位)。 提案されたソリューションを来週以内に提出してください。
40 code-golf  random 

18
アヒル、アヒル、消えた!
これは(非常に怖い)5つの小さなアヒルの歌です(長くはありません): Five little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only four little ducks came back. Four little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only …
40 code-golf  string 

24
イライラして入力を待つ
今日のタスクは、入力を取得するための時間制限を実装することです。これは、ほとんどの言語で達成するのがかなり面倒だと感じたタスクです。 ユーザーに入力を求めるプログラム関数を作成します。ユーザーが入力を提供した直後に、メッセージinput receivedを出力して実行/リターンを終了します。ただし、ユーザーが入力を提供するために10秒以上待機する場合は、メッセージno input receivedを出力して実行/リターンを終了します。 入力はstdin(コンソール)または同等であり、関数またはプログラムの引数ではありませんが、出力はto stdout、関数の戻り値、またはその他の受け入れられる出力メソッドのいずれかです。 任意の量の入力を要求できます。1文字、行、単語、または少なくとも1文字を待つ限り、言語で最も短い方法を入力できます。 10秒が経過した後ではなく、入力を受信したらすぐに出力する必要があります。 10秒が経過したら、終了する必要がありますno input received。印刷後、入力を待つことはできません。 これは非常に小さなウィンドウであるため、入力が10秒経過してからテキストが画面に出力されるまでの間に渡されないと想定することができます。また、あなたの言語の組み込みの同等物sleepが一貫して、完全に完璧であると仮定するかもしれません。 これはcode-golfで、最少バイトが勝ちます!
39 code-golf 

21
レーベンシュタイン距離
このような編集距離の質問は数多くありますが、レーベンシュタイン距離を計算するプログラムを書くのは簡単な質問ではありません。 博覧会 2つの文字列間のレーベンシュタイン編集距離は、1つの単語を別の単語に変換するための挿入、削除、または置換の可能な最小数です。この場合、挿入、削除、および置換の各コストは1です。 例えば、間の距離rollとは、rolling削除が1のコスト、そして私たちは3 characterrsを削除する必要があるため、3です。置換のコストは1なので、tollとの間の距離はtall1です。 ルール 入力は2つの文字列になります。文字列は小文字で、文字のみを含み、空ではなく、最大100文字の長さであると想定できます。 出力は、上記で定義したように、2つの文字列の最小レーベンシュタイン編集距離になります。 コードはプログラムまたは関数でなければなりません。名前付き関数である必要はありませんが、レーベンシュタイン距離を直接計算する組み込み関数にすることはできません。他のビルトインが許可されます。 これはコードゴルフであるため、最短の答えが勝ちます。 いくつかの例 >>> lev("atoll", "bowl") 3 >>> lev("tar", "tarp") 1 >>> lev("turing", "tarpit") 4 >>> lev("antidisestablishmentarianism", "bulb") 27 いつものように、問題が不明な場合はお知らせください。幸運と良いゴルフ! カタログ var QUESTION_ID=67474;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else …
39 code-golf  string 

21
不可能なダーツスコア
ダーツのチェックアウトには素晴らしい質問がありますが、これがすでに質問されていないことに驚きました:ダーツとコードゴルフの出会い あなたの挑戦は、「n」ダーツの最大スコアを下回る「n」ダーツでは不可能なスコアを計算することです。たとえば、n = 3の場合、可能な最大スコアは180なので、[163,166,169,172,173,175,176,178,179]を返します 最低限のルールの概要: 1本のダーツで可能なスコアは次のとおりです。 0(ミス) 1-20、25、50 1〜20のダブルまたはトリプル ルール: 標準コードのゴルフ規則が適用されます 言語で許可されている方法で単一のパラメーター「n」を取り、nダーツでは得られない最大スコア以下のすべての一意のスコアのリスト/配列を返す必要があります。これらの値をコンソールに出力することもできます。 結果の順序は重要ではありません バイト単位の最短コードが勝つ
39 code-golf 

30
時計の文字盤を表示する
次のように、時計の文字盤に12個の数字を表示します。 12 11 1 10 2 9 3 8 4 7 5 6 グリッドを見やすくするために、ドットのあるものを次に示します。 ...........12............ .....11...........1...... ......................... .10...................2.. ......................... ......................... 9.......................3 ......................... ......................... ..8...................4.. ......................... ......7...........5...... ............6............ グリッドがより正方形に見えるように、2倍に幅が引き伸ばされていることに注意してください。 また、2桁の数字は1桁の数字に合わせて配置されていることに注意してください。9桁が左に揃うはずです。 結果を複数行の文字列(行のリストではなく)として返すか出力します。末尾のスペースはオプションです。最後の改行もオプションです。

30
私は宇宙船の浮浪人を作りました!
前書き: 触発さのこのコメント@MagicOctopusUrn上@Emignaの05AB1E答え私のために『それはただのバグだったの挑戦』: 8F9ÝÀNð×ý}».∊私は宇宙船の浮浪人を作りました!そして、私は皆、12バイトの編集を提案することに興奮していました。– 魔法のタコUr 17年7月17日20:10 これは05AB1E(レガシー)プログラムであり、次の結果になります。 1234567890 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 …

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