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

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

30
nで終わり、nで割り切れる桁の合計がnになる最小の正の整数を見つける
それはすべてタイトルにあります... 入力として正の整数n>=12を取り、...タイトルが言うことをします。 はい、これはOEIS A187924にあります。 いくつかのテストケース 12 -> 912 13 -> 11713 14 -> 6314 15 -> 915 16 -> 3616 17 -> 15317 18 -> 918 19 -> 17119 20 -> 9920 40 -> 1999840 100-> 99999999999100 これはcode-golfです。バイト単位の最短コードが勝ちです!

30
数字を最大桁で減らす
仕事: 10進法で整数を指定した場合、次のように1桁の10進数に減らします。 数値を10進数のリストに変換します。 最大桁Dを見つける リストからDを削除します。Dが複数ある場合は、左から1番目(最も重要な位置)を選択します。他のすべてはそのまま残ります。 結果のリストを10進数に変換し、Dを掛けます。 数値が9より大きい(10進数が1桁以上)場合は、手順全体を繰り返して、結果をそれに入力します。1桁の結果が得られたら停止します。 結果を表示します。 例: 26364 -> 1. 2 6 3 6 4 2. The largest digit is 6, so D=6 3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one, at position 1 and get the list …

1
微小重力ボール
高度な銀河間宇宙ステーションにいます。重力の研究で未成年であるあなたの友人が、ボールを動かす方法として微小重力を使用するゲームを作成しました。 彼女は、4つの方向矢印と、左に座っているボールを持つ迷路のような構造を持つ小さなコントローラーをあなたに渡します。彼女はゲームの仕組みを説明し始めます。 左<と右の2つの方向ボタンがあります>。 また^、上下に2つの重力ボタンがありますv(少なくとも参照フレームから) これらの矢印ボタンを使用して、画面上でボールを動かします。 「従う必要があるいくつかのルールがあります。」彼女が言います カップに到達する前に、すべてのプラットフォームを横断する必要があります \ / 矢印< > ^ vはボールの動きを指定するために使用されます 重力は^ v(上下)です。これにより、ボールはその方向の次のプラットフォームまでずっと移動します。(距離は上下で計算されません) ボールを失うのは悪いことです!ボールがプラットフォームに到達しないように、端から落ちたり、重力を切り替えすぎないでください 移動は次のステップでカウントされます < > ルール1が守られている限り、ボールはどの方向からでもカップに入ることができます。 ボールが浮かないように重力の方向を指定する必要があります 規則1と規則4に従う限り、動きはランダムになる場合があります 解決できない場合は、FalseまたはInvalidを出力します ボール、プラットフォーム、カップの簡単な例: v o ---\ / v> o ---\ / v>> o ---\ / v>>> o ---\ / v>>>> ---\o/ 同じプラットフォームを再度横断する例。 v o ---- \ /------- v> o …

30
私のマトリックスアローヘッドですか?
定義 矢印行列はあるマトリックスのすべてのエントリに等しいた0主対角、一番上の行と一番左の列にものを除きます。つまり、マトリックスは次のようになります。 * * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 * 各*はゼロ以外のエントリです。 仕事 非負の整数の正方行列が与えられた場合、上記の定義に従って矢じりかどうかを確認します。 配列に相当する言語がポインターや長さ(Cなど)のようなものでない限り、入力として行列のサイズを使用することはできません。常に少なくとも3 x 3になります。 各言語のバイト単位の最短コードが優先されます。 入出力 入力を受信するために、次の形式のいずれかを選択できます。 ネイティブマトリックスタイプのマトリックス(言語にマトリックスがある場合) 2D配列1(それぞれが1行に対応する1D配列の配列) 1D配列(行列は常に正方形であるため) …

8
互いに素な近傍はありません
正の整数のリストが与えられた場合、隣接する整数のペアがすべて素因数を共有するかどうかを出力します。言い換えると、リスト内の隣接する2つの整数が互いに素でない場合にのみ、真実を出力します。 さらに他の言葉で:正の整数のリスト[a 1 a 2 …a n ]が与えられたら、 gcd(a 1、a 2)> 1 && gcd(a 2、a 3)> 1 &&…&& gcd(a n-1、a n)> 1。 リストには常に少なくとも2つの要素が含まれます(n≥2)。 しかしながら… この課題は制限されたソースでもあります。答えのコードポイント(コードページがどのようなものであっても)は、プログラムがチェックする条件を満たさなければなりません。 たとえばprint 2、有効なプログラムです。Unicodeコードポイントのリストとしては[112 114 105 110 116 32 50]であり、これはこの条件を満たします。112と114は2の係数を共有します。そして114及び105の共有A因子3、等 しかし、mainすることができません(すみません!)、ユニコードのコードポイントとして有効なプログラムで発生mし、aすなわち、109と97、互いに素です。(ありがたいことに、提出は完全なプログラムである必要はありません!) プログラムにコードポイント0を含めることは許可されていません。 テストケース 真実: [6 21] -> 1 [502 230 524 618 996] -> 1 [314 112 …

11
整数をエンコードする
与えられた正の整数n > 2。次のように配列に変換します。 2空の配列を返すことに等しい場合 そうでない場合、すべてnの素因数の配列を昇順で作成し、各要素を素数の順序でそのインデックスに置き換え、最後に各要素を配列に変換します たとえば、数値46を配列に変換できます。まず、それをその素因数の配列に変換します。 [2, 23] 数値23は9th番目の素数なので2、空の配列と23で置き換え[9]ます。配列は次のようになります。 [[], [9]] の主な要因9は3および3ですので、 [[], [3, 3]] 両方について同じことを行います3: [[], [[2], [2]]] そして最後に: [[], [[[]], [[]]]] 今、それをエンコードするために、それぞれの開いている括弧をで置き換え1、それぞれの閉じている括弧を0で置き換えて1から、すべての終了ゼロを削除し、最後から1をドロップします。これは2進数です。上記の例を使用して: [ ] [ [ [ ] ] [ [ ] ] ] | | | | | | | | | | | | | | …

12
イワシが大好き
私はイワシが大好きで、それを十分に手に入れることができません。また、私のコンピューターであるOmnilang 5000は言語に依存しません。 私のコンピューターにイワシを体験する喜びを与えるために、さまざまな向きでイワシの缶詰を画面に表示し、最大10個のイワシを表示できる多くのプログラムを彼に提供することにしました。 この課題では、次のパラメーターに基づいてプログラムを作成する必要があります。 入力 数値(0〜10)と次の「LR」(それぞれ左または右を表す)のいずれかからの文字。例:3Lまたは5R; これがプログラムにどのように入力されるかはあなた次第です。 出力 イワシの開いた缶は、イワシが指示された方向を向いており、キー(「%」文字で表される)と皮をむいた蓋(「@」文字で表される端で巻き上げられた缶)が缶の上部にあります。 すべてのイワシは、入力で示された方向を向く必要があります。 すべてのイワシは、g( " )"または " (")と尾 " ><"の間に5文字の長さの体を持ちます。 キーと皮をむいたふたロールは、常にイワシの反対方向を向いています。 以下の例に示すように、錫は3次元の外観を持っている必要があります。 スズの最小高さは3イワシです。そのため、数が3未満の場合、入力されたイワシの数とともに、高さが3匹のイワシのスズを表示する必要があります。それ以外の場合、スズは入力で示されたイワシの高さでなければなりません。入力は、だから、0Rまたは0L空のイワシ錫が表示されます。 検証できない他の入力には何も表示されません。 たとえば、「3L」 __________ (__________@% |<*)_____><|| |<*)_____><|| |<*)_____><|| '=========='' 「7R」について __________ %@__________) ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ''==========' 「2L」について __________ (__________@% |<*)_____><|| |<*)_____><|| | || '=========='' 「0R」について __________ %@__________) …

28
強い言葉ですか?
彼らはそれhateが強い言葉だと言います。その理由を知りたかったので、この言葉をよく見てみました。 すべての子音の後に母音が付いていることに気付きました。それは私にとって非常に強く見えたので、私はそれが言葉を強くするものだと決めました。 もっと強い言葉を見つけたいので、そのためのプログラムが必要です! 強い言葉を見つける 強い単語とは、すべての子音(セット内の文字BCDFGHJKLMNPQRSTVWXZ)の後に母音(セット内の文字)が続く単語AEIOUYです。それでおしまい。他には何も関係ありません。 単語が母音で始まる場合、最初の子音の前の文字について心配する必要はありません。単語に子音がまったく含まれていない場合、自動的に強力な単語になります。 強い単語の例はagate、hateおよびyouです。agate母音で始まりますが、すべての子音の後に母音が続くため、まだ強力な単語です。you子音がないため、強い言葉です。 強い単語の長さに制限はありません。 チャレンジ 入力として空でない文字列を受け取り、それが強い単語であれば真理値を出力し、そうでなければ偽値を出力するプログラムまたは関数を作成します。 明確化 入力は小文字または大文字のどちらで入力するかを決定できます。回答でどれを指定してください。 単語には、いかなる種類の句読点も含まれません。セットにはプレーンな文字のみが含まれABCDEFGHIJKLMNOPQRSTUVWXYZます。 真実の値と偽の値の代わりに、2つの異なる一貫した値を選択して、trueとfalseを返します。これを行う場合は、回答で選択した値を指定します。 あるいは、強い単語に対しては偽の値を出力し、非強い単語に対しては真実の値を出力することができます。 テストケース Input -> Output hate -> true love -> true popularize -> true academy -> true you -> true mouse -> true acorn -> false nut -> false ah -> false strong -> false false …

22
登山グレードを並べ替える
私の最初のコードのゴルフ投稿、間違いをおologiesびします... コンテキスト ロッククライミング(特にボルダリング)では、V / Vermin(米国)の登山グレードは「VB」(最も簡単なグレード)から始まり、「V0」、「V0 +」、「V1」、「V2」、「V3」に進みます、「V4」、「V5」などから「V17」(最も厳しいグレード)まで。 仕事 入力として登山グレードのリスト/配列を取得し、最も簡単なものから最も難しいものに分類されたグレードのリスト/配列を返すか、印刷する必要があります。 入力が空の場合、空のデータ構造を返します。それ以外の場合、入力は常に有効です。 テストケース Input | Output [] | [] ['V1'] | ['V1'] ['V7', 'V12', 'V1'] | ['V1', 'V7', 'V12'] ['V13', 'V14', 'VB', 'V0'] | ['VB', 'V0', 'V13', 'V14'] ['V0+', 'V0', 'V16', 'V2', 'VB', 'V6'] | ['VB', 'V0', 'V0+', 'V2', 'V6', 'V16'] これはコードゴルフの挑戦です。

15
マナはどれくらい必要ですか?
ダンジョンマスターは、1987年にアタリSTでリリースされた最初のリアルタイムロールプレイングゲームの1つでした。当時のエキサイティングなものの中でも、ルーン文字に基づいたかなり洗練されたスペルシステムを提供していました。 今日のあなたの仕事は、ダンジョンマスターで特定の呪文を唱えるのに必要なマナポイントの数を評価するプログラムまたは関数を書くことです。 「スペルキャスト」システムは、上の図の右上のシアンのボックスです。 スペル、ルーン、マナ ダンジョンマスタースペルは、2〜4個のルーンで構成され、次のカテゴリからこの順番で選択されます。 電力(必須) 元素の影響(必須) フォーム(オプション) クラス/アライメント(オプション) 有効なスペルは次のいずれかであることを意味します。 パワー+エレメンタルインフルエンス パワー+エレメンタルインフルエンス+フォーム パワー+エレメンタルインフルエンス+フォーム+クラス/アライメント 各カテゴリには6つのルーンが含まれ、各ルーンには関連する基本マナコストがあります。 ============================================================================= | Power | Rune | Lo | Um | On | Ee | Pal | Mon | | +-----------+------+------+------+------+------+------+ | | Base cost | 1 | 2 | 3 | 4 | 5 | 6 …

30
バーコードは有効ですか?
EAN-8バーコードは7情報の桁と8チェックサム・デジットを有しています。 チェックサムは、数字に3と1を交互に掛け、結果を加算し、次の10の倍数から減算することで計算されます。 たとえば、数字が与えられた場合2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 これらの結果の数字の合計は55なので、チェックサムの数字は60-55 = 5です。 チャレンジ あなたの仕事は、8桁のバーコードが与えられたら、それが有効かどうかを確認することです。チェックサムが有効であれば真理値を返し、そうでなければ偽りを返します。 次のいずれかの形式で入力できます。 バーコードの数字を表す8文字の文字列 8つの整数のリスト、バーコードの桁 非負の整数(1= が指定されていない場合、先行ゼロを想定するか00000001、ゼロが指定された入力を要求できます) EAN-8チェックサムを計算する(つまり、最初の7桁を取得して最後の桁を計算する)ビルトインは禁止されています。 これはcode-golfなので、最短のプログラム(バイト単位)が勝ちです! テストケース 20378240 -> True 33765129 -> True 77234575 -> True 00000000 …

30
最も高い一意の数字を見つける
驚くべきことに、私たちは単純な「最高位の数字を見つける」チャレンジをまだしていませんでしたが、それは少し簡単すぎると思います。 負でない整数の入力が与えられた場合、整数で見つかった最も高い一意の(つまり、繰り返されない)数字を返します。一意の数字がない場合、プログラムは何でもできます(未定義の動作)。 入力は、単一の整数、文字列、または数字のリストとして取得できます。 テストケース 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 これはコードゴルフなので、各言語で最少のバイトが勝ちます!

28
バイナリ壁を作成する
10を底とする正の整数の配列を指定n > 0すると、は、バイナリ壁の表現を出力します。 これはどのように作動しますか? 各数値をバイナリ表現に変換します。 表現の先頭にゼロを追加して、最も長いものの長さ(つまり、1, 2-> 1, 10->)にし01, 10ます。 1sがレンガであり、sがレンガ0が欠けている壁を作成します。 壁は文字のブロックで、印刷可能な文字はレンガを表し、スペース(32)は欠けているレンガを表します。レンガには任意の文字を選択できます。空白文字でない限り、壁全体で区別する必要はありません。行方不明のレンガ文字はスペースでなければなりません。以下の例*では、レンガに使用しました。 例 入力: [ 15, 7, 13, 11 ] [ 1111, 111, 1101, 1011 ] [ 1111, 0111, 1101, 1011 ] 出力: **** *** ** * * ** ルール ご使用の言語で使用できない他のベースが言語で受け入れられている場合は、ベース10で入力する必要があります。 先頭と末尾の改行が許可されます。 入力は、整数のリスト、個別の引数、または任意の妥当な形式として取得できます。 出力は、改行で区切られた文字列、行の配列、2D配列など、任意の妥当な形式になります。 標準の抜け穴は許可されていません。 テストケース 最初のテストケースでは、すべてのレイヤーの最後に空のブリックがあることに注意してください。 [ 14, 4, …

30
この番号はレプディジットですか?
チャレンジ ぞろ目には、その数字全て等しい正の整数です。 入力として単一の整数を取り、入力数が10進数のrepdigitである場合は真理値を出力し、それ以外の場合は偽値を出力する関数または完全なプログラムを作成します。 入力は正の整数であることが保証されています。 入力を基本10の文字列表現として使用し、免責することができます。 テストケース これらはすべて1000未満の繰り返し桁です。 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 より大きなリストはOEISにあります。 勝ち バイト単位の最短コードが優先されます。それは、冗長言語での賢い答えが歓迎されないということではありません。

30
指定されたインデックスの文字を削除
(指定されたインデックスの文字列の要素に強く触発された) のインデックスを表す文字列sと整数nを指定すると、-th位置の文字が削除されてs出力されます。sn 0インデックスと1インデックスが許可されます。 0インデックスの場合、n負ではなく、の長さより小さくなりsます。 1-indexingの場合、n正で、の長さ以下になりsます。 s印刷可能なASCII文字のみで構成されます(\x20-\x7E、または から~)。 合理的な入力/出力が許可されます。標準の抜け穴が適用されます。 テストケース(0から始まる): n s output 0 "abcde" "bcde" 1 "abcde" "acde" 2 "a != b" "a = b" 3 "+-*/" "+-*" 4 "1234.5" "12345" 3 "314151" "31451" テストケース(1-indexed): n s output 1 "abcde" "bcde" 2 "abcde" "acde" 3 "a != b" "a = …
33 code-golf  string 

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