タグ付けされた質問 「integer」

整数の操作を伴う課題。

15
モジュラー放送
この課題は、2018年5月の「Language of the Month」イベントの一部として、MATL言語の機能の一部に関連しています。 前書き MATLでは、多くの2入力機能が働く要素単位で放送。これは次のことを意味します。 要素単位(またはベクトル化):関数は、サイズが一致する2つの配列を入力として受け取ります。関数によって定義された操作は、対応するエントリの各ペアに適用されます。たとえば、修正後表記を使用する場合: [2 4 6] [10 20 30] + 与え ouputをを [12 24 36] これは多次元配列でも機能します。表記[1 2 3; 4 5 6]は2× 3配列(行列)を表します 1 2 3 4 5 6 これは2、最初の次元(垂直)と32番目(水平)に沿ったサイズを持ちます。例えば [2 4 6; 3 5 7] [10 20 30; 40 60 80] * 与える [20 80 180; …

10
騎士の距離
チェスでは、グリッド(x、y)上の騎士は(x-2、y-1)、(x-2、y + 1)、(x-1、y-2)、(x-1、 y + 2)、(x + 1、y-2)、(x + 1、y + 2)、(x + 2、y-1)、(x + 2、y + 1)を1ステップで。(0、0)に騎士だけがいる無限のチェス盤を想像してください: Knightを(0、0)から(t x、t y)に移動するのに何ステップ必要ですか? 入力 2つの整数:t x、t y ; -100 <t x <100、-100 <t y <100 出力 Knightを(0、0)から(t x、t y)に移動するために必要な最小限の手順。 ルール コードゴルフ テストケース x y -> out 0, 0 -> 0 0, 1 …

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

22
ミックスダイスロールの頻度分布
この課題のフォローアップ 混合サイコロのセットが与えられた場合、それらすべてをローリングし、各サイコロでローリングした数字を合計する頻度分布を出力します。 たとえば、1d12 + 1d8(1面の12面ダイスと1面の8面ダイスをローリングする)を検討してください。最大と最小のロールがある20と2圧延と同様であり、それぞれ、2d10(2 10両面ダイスを)。しかし、1d12 + 1d8より平坦分布の結果2d10:[1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]対[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]。 ルール 周波数は、周波数が対応する合計の昇順でリストする必要があります。 対応する合計で頻度にラベルを付けることは許可されていますが、必須ではありません(合計は必要な順序から推測できるため)。 出力が言語の表現可能な整数の範囲を超える入力を処理する必要はありません。 先頭または末尾のゼロは許可されません。出力には正の周波数のみが表示されます。 任意の妥当な形式(サイコロのリスト([6, …

25
不動点を見つける
整数とブラックボックス関数を指定すると、で定義されたシーケンス内のの固定小数点を見つけます。x1 f: ℤ → ℤfxk+1 := f(xk) 詳細 値xはfifの固定小数点と呼ばれますx = f(x)。 たとえばf(x) := round(x/pi)、開始点がある場合、get 、then 、then 、およびfinally が返されます。x1 = 10x2 = f(x1) = f(10) = 3x3 = f(x2) = f(3) = 1x4 = f(x3) = f(1) = 0x5 = f(x4) = f(0) = 00 生成されたシーケンスには実際に固定小数点が含まれていると想定できます。 整数のネイティブ型をの代わりに使用できますℤ。 標準のIOメタポストでブラックボックス関数の入力にデフォルトがある任意の言語を使用できます。ご使用の言語にそのようなデフォルトがない場合は、ブラックボックス関数の定義の意味で自由に追加して、その定義に提案をリンクしてください。また、それらに投票することを忘れないでください。 例 f(x) = …

20
循環移動合計
Stack Overflowの質問に触発されました。 空ではない整数の配列xと正の整数nを指定すると、配列に沿った長さの各スライドブロックの合計を計算し、次のように左の欠損値を右からの値で循環充填します。nx 最初のブロックには、循環シフトエントリxが先行するの最初のエントリが含まれn-1ます。 2番目のブロックには、の最初と2番目のエントリがありx、その前にn-2循環シフトエントリがあります。等々。 出力配列のyサイズはと同じxです。nの長さを超えることは可能xで、その後、の値xは循環的に数回再利用されます。 例 例1(値は1回だけ再利用されます) x = [2, 4, -3, 0, -4] n = 3 出力として与える y = [-2, 2, 3, 1, -7] どこで -2ブロックの合計です[0, -4, 2](最初の2つの値は循環シフトから取得されます) 2の合計です[-4, 2, 4](最初の値は循環シフトから取得されます) 3の合計です[2, 4, -3](循環シフトはもう必要ありません) 1 の合計です [4, -3, 0] -7はの合計です[-3, 0, -4]。 例2(値は数回再利用されます) x = [1, 2] n …

23
それからバイトを取ります!
あなたの仕事は、符号なし整数が与えられた場合n、1バイト(連続した8ビット)のデータを削除することで作成できる最大数を見つけることです。 例 番号7831を指定すると、最初にそれをバイナリに変換します(先行ゼロを削除します): 1111010010111 次に、8ビットの連続したグループを見つけます。これを削除すると、最大の新しい結果が得られます。この場合、以下に示す3つのソリューションがあります 1111010010111 ^ ^ ^ ^ ^ ^ これらのyieldsのいずれかを削除11111する31と、回答用に10進数値に変換されます。 テストケース 256 -> 1 999 -> 3 7831 -> 31 131585 -> 515 7854621 -> 31261 4294967295 -> 16777215 (if your language can handle 32 bit integers) ルール のビット長はn8より大きいことが保証されています。 あなたのソリューションは理論的にnは8を超えるビット長で動作するはずですが、実際には、整数255 <n <2 16でのみ動作する必要があります 入力/出力は10進数でなければなりません。 完全なプログラムまたは機能を提出できます。 これはcode-golfなので、最短のプログラム(バイト単位)が勝ちです!

3
ヌーの道
反時計回りの正方形のスパイラルに番号が付けられた無限のチェス盤上の正方形で始まるヌーの位置を与えるプログラムまたは関数をゴルフし彼女はまだ訪れていないことを知ることができます。n番目n番目n^{\text{th}} 1111 インスピレーション:閉じ込められた騎士とOEIS A316667。 編集:このシーケンスはA323763としてOEISにあります。 コードは、場所、最初の場所を生成するか、入力なしでシーケンスを生成します。n番目n番目n^{\text{th}}nnn 代わりに(または)最大ジャンプ後に彼女の位置を自由に指定できますが、そうする場合は、回答にこれを明記し、入力が得られることを確認してください(または適切な場合)。nnnn = 0n=0n=01[1] これはcode-golfであるため、目的は、選択した言語で可能な限り少ないバイトで作業コードを生成することです。 注:ヌーは彼女の閉じ込められます(騎士が場所、正方形で、ラクダが彼の、正方形)。正方形場所。コードの振る舞いは、これよりも大きい未定義になる場合があります。(これを見つけたC ++コードの Deadcodeに感謝します!)2016年番目2016年番目2016^{\text{th}}2084208420843723rd3723rd3723^{\text{rd}}70817081708112899744968番目12899744968番目12899744968^{\text{th}}128518502581285185025812851850258nnn 詳細 ボードは次のようになり、無期限に継続します。 101 100 99 98 97 96 95 94 93 92 91 102 65 64 63 62 61 60 59 58 57 90 103 66 37 36 35 34 33 32 31 56 89 104 67 …

24
強盗:隠されたOEISサブストリング
これは警官と強盗の挑戦です。これが強盗のスレッドです。警官のスレッドはここにあります。 警官はOEISから任意のシーケンスを選択し、そのシーケンスの最初の整数を出力するプログラムpを作成します。彼らはまた、いくつかの文字列を検索します秒。sをp のどこかに挿入する場合、このプログラムはシーケンスの2番目の整数を出力する必要があります。s + sをpの同じ場所に挿入する場合、このプログラムはシーケンスの3番目の整数を出力する必要があります。同じ場所にあるs + s + sは4番目を印刷し、以下同様に続きます。以下に例を示します。 Python 3、シーケンスA000027 print(1) 隠し文字列は2バイトです。 文字列は+1、プログラムprint(1+1)がA000027の2番目の整数を印刷するため、プログラムがprint(1+1+1)3番目の整数を印刷するためなどです。 警官は、シーケンス、元のプログラムp、および非表示の文字列sの長さを明らかにする必要があります。強盗は、その長さまでの文字列と、それを挿入してシーケンスを作成する場所を見つけることにより、提出物を解読します。文字列は、有効なクラックであるために意図したソリューションと一致する必要はなく、挿入される場所も一致する必要はありません。 警官の回答の1つをクラックした場合は、解決策(非表示の文字列と場所が公開されている)と回答へのリンクを投稿してください。次に、ここであなたのクラックへのリンクで警官の答えにコメントしてください。 ルール ソリューションは、シーケンス内の任意の数、または少なくともメモリ制限、整数/スタックオーバーフローなどが原因で失敗する合理的な制限まで動作する必要があります。 勝者の強盗は、最も多くの提出物をクラックするユーザーであり、タイブレーカーはその数のクラックに最初に到達します。 勝利した警官は、割れていない最短の文字列の警官です。Tiebreakerは最短のpです。ひびのない提出物がない場合、解決策を持っていた警官が最も長い間勝ちました。 安全であると宣言するには、ソリューションを1週間クラックせずに、隠し文字列(および挿入する場所)を公開する必要があります。 sはネストできません。エンドツーエンドで連結する必要があります。たとえば、sがいた10、各反復は行くだろう10, 1010, 101010, 10101010...ではなく、10, 1100, 111000, 11110000... すべての暗号化ソリューション(たとえば、部分文字列のハッシュのチェック)は禁止されています。 sにASCII以外の文字が含まれている場合は、使用するエンコードも指定する必要があります。

20
隣接していないアイテムの最大合計サブシーケンス
前書き: これら2つのSO質問(同じクラスからの疑いのない質問)に触発された:隣接要素なしの最大合計のサブ配列の要素javaおよび配列の非隣接要素の最大合計を印刷します。 チャレンジ: 整数のリストが与えられた場合、最高の合計を持つ非隣接要素で構成されるサブシーケンスを出力します。ここにいくつかの例があります: [1,2,3,-1,-3,2,5]は、0から始まるインデックスで[1,3,5](合計で9)になります[0,2,6]。 [4,5,4,3]いずれかをもたらすであろう[4,4](の和と80ベースのインデックスで)[0,2]又は[5,3](もの和と80ベースのインデックスで)[1,3]。 [5,5,10,100,10,5]は、0ベースのインデックスまたはのいずれかで[5,100,5](合計で110)になります。[0,3,5][1,3,5] 上記のこれらの例で最も重要なのは、要素を含むインデックスが少なくとも2つ離れていることです。この例を[5,5,10,100,10,5]さらに詳しく見ると、非隣接アイテムを含む次の潜在的なサブシーケンスがあります。インデックスがその下にあります。以下の合計で: [[5],[10],[100],[10],[5],[5],[100,5],[10,5],[10,10],[5,5],[5,10],[5,100],[5,5],[5,10],[5,100],[5,10],[5,100,5],[5,100,5],[5,10,5],[5,10,10]] // non-adjacent subsequences [[5],[ 4],[ 3],[ 2],[1],[0],[ 3,5],[ 2,5],[ 2, 4],[1,5],[1, 4],[1, 3],[0,5],[0, 4],[0, 3],[0, 2],[1, 3,5],[0, 3,5],[0, 2,5],[0, 2, 4]] // at these 0-based indices [ 5, 10, 100, 10, 5, 5, 105, 15, 20, 10, 15, 105, 10, 15, …

18
折りたたみ番号
10進数d kとして書かれた自然数nnn関数を定義しましょうdkdk−1…d1d0dkdk−1…d1d0d_k\; d_{k-1}\; \dotsc\; d_1\; d_0は次のとおりです。 等しい隣接する数字d iがある限りdidi−1didi−1d_i\;d_{i-1}、その合計によってそれらを置き換えるdi+di−1di+di−1d_i+d_{i-1}左から右へ。そのような数字があった場合は、同じ手順を繰り返します。 つまり、各反復で、隣接する等しい数字のすべてのペアを貪欲に取り、それらを同時に合計で置き換えます(重複する場合は左端のペアを使用します)。 例 例として99889988\texttt{9988}を見てみましょう。 等しい最初の隣接する数字は2つの99\texttt{9} したがって、それらを9 + 9=189 + 9=18\texttt{9 + 9} = \texttt{18}に置き換えると、1888が得られます。18881888\texttt{1888} 私たちはまだ最初の左右走査であり、まだ2つの88\texttt{8}があったので、これらを最初に置き換える必要があります 我々が得るように、18161816\texttt{1816} 何かが変わったので、別の繰り返しを行う必要があります しかし、そのような数字はないので、停止します したがって、そのシーケンスの9988th9988th9988^\text{th}数値は181618161816です。 チャレンジ 最初の200の用語は次のとおりです。 0,1,2,3,4,5,6,7,8,9,10,2,12,13,14,15,16,17,18,19,20,21,4,23,24,25,26,27,28,29,30,31,32,6,34,35,36,37,38,39,40,41,42,43,8,45,46,47,48,49,50,51,52,53,54,10,56,57,58,59,60,61,62,63,64,65,12,67,68,69,70,71,72,73,74,75,76,14,78,79,80,81,82,83,84,85,86,87,16,89,90,91,92,93,94,95,96,97,98,18,10,101,102,103,104,105,106,107,108,109,20,21,4,23,24,25,26,27,28,29,120,121,14,123,124,125,126,127,128,129,130,131,132,16,134,135,136,137,138,139,140,141,142,143,18,145,146,147,148,149,150,151,152,153,154,20,156,157,158,159,160,161,162,163,164,165,4,167,168,169,170,171,172,173,174,175,176,24,178,179,180,181,182,183,184,185,186,187,26,189,190,191,192,193,194,195,196,197,198,28 あなたの仕事は、そのシーケンスを生成することです nnn指定すると、そのシーケンスのnthnthn^\text{th}数値を返します。 nnn指定すると、そのシーケンスの最初のnnn数値を返します または、シーケンスを無期限に生成します。 000または111インデックス作成のいずれかを使用するように提出を選択できますが、どちらを指定してください。 テストケース 上記の用語を使用することもできますが、ここにいくつかの大きな用語を示します。 222 -> 42 1633 -> 4 4488 -> 816 15519 -> 2019 19988 -> …

25
最大桁で並べ替え
チャレンジ: 整数のリストが与えられたら、それらの単一の最大桁で降順でソートします。次に、同じ最大桁の数字の順序は、2番目に大きい桁などでソートさ れます。数字の重複桁は無視されます。また、数字のすべての数字が同じ場合、リスト内の数字の順序は任意に設定できます。 例: Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373] Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0] [8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0] どうして?番号がソートされた関連する数字は次のとおりです。 Output: [8491, -904, 62778, 478, -7738, 6458, 373, -73, …

10
最短の一意に識別する部分文字列
文字列のリストが与えられたら、各文字列を、空でない部分文字列の1つで置き換えます。これは、リスト内の他の文字列の部分文字列ではなく、できるだけ短くします。 例 リストを考えると["hello","hallo","hola"]、"hello"ただで置き換える必要があり"e"、この部分文字列がに含まれていないとして、"hallo"そして"hola"、それはできるだけ短くしています。"hallo"いずれかで置き換えることができる"ha"か、"al"と"hola"のいずれかによって"ho"、"ol"または"la"。 ルール 文字列は空ではなく、同じ大文字と小文字のアルファベットのみを含むと想定できます。 このような部分文字列はリスト内の各文字列に存在すると仮定できます。つまり、リスト内の文字列は他の文字列の部分文字列にはなりません。 入力と出力は任意の合理的な形式にすることができます。 これはcode-golfなので、選択した言語でできるだけ少ないバイトを使用するようにしてください。 テストケース ほとんどの場合、可能な出力は1つだけです。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 関連:最短識別サブストリング -同様のアイデアですが、より複雑なルールと扱いにくい形式です。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

15
かなりローマ三位一体ではない
整数n≥0を指定する139ABCDE…と、数字と1文字の区切り文字を使用して、非位置ベース3表記で出力します。すべての数字は3の連続した累乗であり、セパレーターの左側の数字は無効になります(例: A931 | B →81-(1 + 3 + 9 + 27)→ 41)。数字は1回しか表示されません。 厳密に、数字の値は次のとおりです。 数字が1、3、または9の場合の値 数字が27の場合 A B..の直前の数字の3倍の値Z 出力はsum(の右側|の桁の値|)-sum(の左側の桁の値)== inputを満たす必要があります。 例 input output ---------------- 0 | 1 |1 7 3|91 730 |D1 9999 FEDC|GA9 別の非スペース文字をセパレータとして使用できます。また、セパレータを持たないこともできます。この場合、最大桁が正のシーケンスを開始します。2 32 -1(PMIGDCBA9|RQNLH3)を超えるものを処理する必要はありません。 完全なプログラムまたは機能を記述でき、通常のチャネルのいずれかで入出力を提供できます。 これはcode-golfなので、答えが短いほど良いです!

19
算術シーケンスを再構築する
中間からいくつかの項が削除された正の整数の有限の算術シーケンスが与えられた場合、シーケンス全体を再構築します。 タスク 算術シーケンスを考えます。連続する2つの要素の差が同じである正の整数のリスト。 2 5 8 11 14 17 ここで、次の制約に従って、シーケンスから1つ以上の整数が削除されたとします。 削除される整数は、シーケンスの連続した用語になります。 シーケンスの最初と最後の整数は削除されません。 少なくとも3つの整数がシーケンスに残ります。 上記のシーケンスの場合、可能な削除は次のとおりです。 2 5 8 14 17 (removed 11) 2 5 17 (removed 8 11 14) 2 14 17 (removed 5 8 11) あなたのタスク:これらの部分シーケンスのいずれかを指定して、元の完全なシーケンスを再構築します。 詳細 入力が有効(解決策あり)で、少なくとも1つの用語が欠落していると仮定できます。シーケンス内のすべての数値は正の(> 0)整数になります。シーケンスは、用語間に正または負の差がある場合があります(つまり、増加または減少している場合があります)。一定のシーケンスではありません(例:)5 5 5。 あなたの解決策は、完全なプログラムまたは機能かもしれません。いずれかのデフォルトの入力と出力の方法が許容されています。 入力および出力は、文字列(合理的な区切り文字を含む)、文字列のリスト、または数字のリストです。あなたの言語にとって都合の良いベースで数字を表すことができます。 他の人があなたのコードをより簡単にテストできるように、あなたの提出物に異常なI / Oメソッド/フォーマットを記載してください。 テストケース In: 2 5 …

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