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

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

5
Boggle Board Compression
非パリンドロームポリグロットボグルで作業しているとき、2本の弦だけでも、可能な限り効率的にコードをボグルボードに詰め込むのは非常に面倒です。しかし、私たちはプログラマーですよね?物事を自動化する方法を知っています。 文字列のリストが与えられたら、それらの文字列のそれぞれが(他の文字とは独立して)見つかるBoggleボードを生成します。課題は、Boggleボードをできるだけ小さくすることです。これは(願わくば)かなり難しいタスクであるため、これはコードチャレンジです。最適性の要件はありません-できる限りそれを行うことが課題です。 ルール Boggleボードは長方形で、大文字のみが含まれます。したがって、入力文字列には大文字のみが含まれます。 通常のBoggleルールが適用されます。文字列は、どこからでも、隣接する文字(水平、垂直、または斜め)に繰り返し移動して文字列を見つけることができる場合、ボードの一部です。単一の文字列を形成するには、ボードのセルを複数回使用することはできません。ただし、異なる文字列間で文字が再利用される場合があります。 テストデータを処理するのに30分かかり、コードで4 GBを超えるメモリを使用してはなりません。メモリーの制限については少し余裕を持たせますが、プログラムが一貫して4 GBを超えるか、それを大幅に上回るスパイクを使用する場合は、(一時的に)失格させます。 Windows 8を実行している自分のマシンですべての提出物をテストします。UbuntuVMがありますが、テストする必要がある場合は、30分を他の方法で使用することはできません。選択した言語の無料のインタープリター/コンパイラーへのリンクと、コードのコンパイル/実行方法に関する指示を含めてください。 スコアは、以下のテストデータ用のBoggleボードのサイズになります(改行はカウントしません)。同点の場合(たとえば、複数の人が最適なソリューションを作成できたため)、勝者はこの最適なソリューションをより迅速に作成する提出物になります。 テストデータに対してコードを最適化しないでください。誰かがそうする疑いがある場合、私は新しいテストデータを生成する権利を留保します。 例 与えられた文字列 FOO BAR BOOM かつては4x3 Boggleボードに簡単に入れることができました。 FOOX BARX BOOM 文字列が直線である必要がないという事実を利用することで、5x2に圧縮できます。 BORFO OMABO ただし、異なる文字列間で文字を再利用することでさらに小さくし、文字列を4x2に収めることができます。 FOOM BARX 今Bの両方に使用されるBOOMとBAR、そしてOO両方のために使用されているBOOMとFOO。 テストデータ 提出物は、次の50個の文字列でテストされます。テストのために、このデータのより小さなサブセットを使用するだけで、より短時間で実行できます。このテストデータの絶対的な下限は120文字のボードですが、これは必ずしも達成できるとは限りません。 T WP GVI CIHM EGWIV QUTYFZ LWJVPNG XJMJQWSW JLPNHFDUW SWMHBBZWUG XVDBMDQWDEV TIUGAVZVUECC IWDICFWBPSPQR MMNWFBGMEXMSPY YIHYXGJXKOUOIZA BZSANEJNJWWNUJLJ XTRMGOVPHVZYLLKKG FLXFVVHNTWLMRRQYFQ VZKJRAFQIYSBSXORTSH …

3
1つを除くすべての一致の検索
この課題は、次の問題を解決するコードを記述することです。 2つの文字列AとBを指定すると、コードはAの部分文字列の開始インデックスと終了インデックスを次のプロパティで出力する必要があります。 Aの部分文字列は、Bの部分文字列と、文字列内の単一文字の最大1つの置換と一致する必要があります。 最初のプロパティを満たすAの部分文字列はもうないはずです。 例えば: A = xxxappleyyyyyyy B = zapllezzz appleインデックス付きの部分文字列4 8(1からインデックス付け)は有効な出力になります。 スコア 回答のスコアは、コードの長さ(バイト単位)と、長さ100万の文字列AおよびBで実行した場合にコンピューターでかかる時間(秒単位)の合計になります。 テストと入力 http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/の文字列から取得した長さ1​​00万の2つの文字列でコードを実行します 入力は標準入力になり、新しい行で区切られた2つの文字列になります。 言語とライブラリ 自由に利用できるコンパイラー/インタープリター/などを備えた任意の言語を使用できます。Linuxおよびオープンソースであり、Linuxで自由に利用できるライブラリの場合。 私のマシン タイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。

4
スノーフレークを描く
ジョーはバハマに住んでいます。冬です。彼の子供たちは雪がないことに失望しています。ジョーは子供のために雪を作る必要があります。幸いなことに、彼は3Dプリンターを持っています。彼はそれで雪片を作る予定です。残念ながら、彼は雪の結晶がどのように見えるかわかりません。実際、彼はスノーフレークを見たことがない!彼のために雪片の2Dイメージを自動的に生成するプログラムを作成して、彼を助けましょう。 入力 画像の直径(ピクセル単位)、実際には雪片である画像の割合。 出力 必要な直径のスノーフレークの画像。ファイルに保存するか、ユーザーに表示できます。 仕様書 30度の角度を持つくさびを作成します。ウェッジのポイントに初期シードを持つブラウン木を作成します。画像の残りの部分を生成するために、画像の中心の周りにウェッジを12回反射します。スノーフレークの色は白です。背景の色は黒です。 得点 ブラウンの木を生成する方法はさまざまであるため、スコアは10 *投票数-ゴルフスコアです。 ゴルフスコアは、プログラム内のバイト数として定義され、次のボーナスがあります。 -20%スノーフレークの対称性を任意に指定できます。 -50%スノーフレークの形状を指定できます。(ウェッジの辺の長さの比率を指定できることにより。) 最高スコアが勝ちます。 以下の図は、比率が約2の場合のウェッジの形状を示しています。 スコアボード: マーティン・バトナー:10 * 14-409 = -269 ニミ:10 * 1-733 * .5 = -356.5 オプティマイザー:10 * 5-648 = -598 勝者は-269のスコアを持つマーティンです!

4
実用的な数値を計算する
定義 正の整数nは、すべてのより小さい正の整数がの別個の約数の合計として表される場合に限り、実用的な数値(OEISシーケンスA005153)ですn。 たとえば18、実用的な数値です。除数は1、2、3、6、9、18であり、18より小さい他の正の整数は次のように形成できます。 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

14
邪悪な目的のための奇妙な選別機
こんばんは! あなたの課題は、一連の数字を完全にソート解除することです。 入力 正確に100個の整数がプログラムに送られます。プログラムは、入力をファイルとして、またはstdinを介して受け入れます。各整数は改行文字で区切られます。 これらの100個の整数は、選択した言語の符号付き整数の最小値から最大値までの範囲になります。 重複する値はありません。値は、順序付けられているか、順序付けられていないか、部分的に順序付けられている可能性があります-プログラムは、各ケースを処理できる必要があります。 出力 出力は、100個の整数で、完全にソートされておらず、それぞれ改行文字で区切られている必要があります。出力は、stdout経由またはファイルへの場合があります。 完全にソートされていないということは、リストが順序付けられた順序で完全にソートされた場合に隣接する値に隣接する値がないことを意味します。 スコア 1文字につき1ポイント、最低スコアが勝ちます。組み込みまたはライブラリの並べ替え機能を使用しないソリューションには、-100のボーナスがあります。組み込みの乱数関数を使用しないソリューションには、-20のボーナスがあります。 この質問をできる限り完全に定義しようとしました。ご質問がある場合は、お問い合わせください。次回の改善方法についてご意見がありましたら、お知らせください。 フォア!

7
最も単語の多い組み合わせロックを見つける
私は数字の代わりに文字を持っている組み合わせ南京錠を持っています。それは次のようになります。http://pictures.picpedia.com/2012/09/Word_Combination_Padlock.jpgその上に10種類の文字をそれぞれ有する5つのリールは、あります。 ほとんどの人は、任意の文字列ではなく、組み合わせに単語を使用することを好みます。(もちろん安全性は低くなりますが、覚えやすいです。)したがって、ロックを製造するときは、できるだけ多くの5文字の英語の単語を作成するために使用できる文字の組み合わせを持つように構築することをお勧めします。 あなたの仕事は、あなたがそれを受け入れることを選択した場合、できるだけ多くの単語を作成できるリールへの文字の割り当てを見つけることです。たとえば、あなたのソリューションは ABCDEFGHIJ DEFGHIJKLM ZYXWVUTSR ABCDEFGHIJ ABCDEFGHIJ (もしあなたが想像しすぎていなかったら、それはそうです)。 一貫性を保つため、http://www.cs.duke.edu/~ola/ap/linuxwordsの単語リストを使用してください そのリストの5文字の単語は、適切な名前も含めて問題ありません。Sino-およびL'vov、およびaz以外の文字を含むリスト内のその他の単語を無視します。 優勝したプログラムは、単語の最大セットを生成するものです。複数のプログラムが同じ結果を見つけた場合、最初に投稿されたものが勝ちます。プログラムは5分以内に実行されます。 編集:活動が停止し、より良い解決策が出ていないので、私はピーター・テイラーが勝者であると宣言します!皆さんの独創的なソリューションをありがとう

6
偽のエラーメッセージ
コンパイラまたはインタープリターの構文エラーメッセージを出力するプログラムを作成します。エラーメッセージは誤解を招くものである必要があります。そのため、コードメンテナーはエラーが偽造されたことを見つけるのに数日かかります。また、エラーはできるだけ正確でなければならず、コードを正しく参照する必要があります。 準拠言語の場合、コードメンテナーがcompile program.p && ./programコマンドラインでプログラムをコンパイルして実行すると想定します。つまり、コンパイラーからの出力かプログラム自体からの出力かを区別できません。また、コードメンテナが構文エラーメッセージを有効にすることを前提としています。 参考のために、ここに私が作成した例を示します:https : //gist.github.com/359604 DATAセクションには、エラーメッセージの文字列を符号化し、ハッシュが%abcdefデコード表です。エラーはバックスラッシュへの参照を出力します。これにより、コード管理者はバックスラッシュをカウントしようとします。 エントリーの採点: コードには一見明白な意図がある /6 コードはエラーを正しく再現します/16 (ポイントは16から始まり、各不正確さの対応する要因で除算されます) 正しい大文字:4 正しい行番号と列番号:4 正しい言い回し:間違った単語ごとに2つ 参照されている行番号は、コード管理者を誤解させます /3 例えば、 ./pythontest1.py: line 7: syntax error near token `(' ./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input' 「トークン」の前に「予期しない」が欠落していることの正確性について8(16/2)を取得します。通常のPythonインタープリターが表示されます ./pythontest1.py: line 7: syntax error near unexpected token `(' ./pythontest1.py: line 7: …

4
小さくバランスの取れたモバイルを構築する
あなたにはたくさんの重みが与えられ、あなたの仕事はそれらの重みを使って小さなバランスの取れたモバイルを構築することです。 入力は、1〜9の範囲の整数の重みのリストです。重複する可能性があります。 出力は、吊り下げたときにバランスがとれるモバイルのASCII画像です。おそらく、例によって最もよく示されています: 入力 3 8 9 7 5 可能な出力 | +-----+---------+ | | +--+-+ +----+------+ | | | | 8 ++--+ 7 5 | | 9 3 示されているようにASCII文字を使用する必要があります。水平および垂直セグメントの長さは任意です。モバイルのどの部分も、モバイルの接続されていない別の部分に(水平または垂直に)触れることはできません。すべてのウェイトは、少なくとも1の長さの垂直セグメントから吊るす必要があり、モバイル全体を吊るす垂直セグメントが必要です。 モバイルの大きさは、数の合計である+、-と|の文字がそれを構築するために必要。サイズが小さいほど優れています。 セグメントには、必要なだけ接続を配置できます。例えば: 入力 2 3 3 5 3 9 可能な出力 | +---+---+-----------+ | | | +--+-+ 5 9 | | | …

25
古き良きサフィックスベクトル
古いマニュアルに触発された... チャレンジ 私は定義番目のサフィックスベクトルBの長さのブールリストとして、AとBの後続truthy値。 与えられ、そのプログラムまたは機能を記述し、AとBは任意の手段によって、戻り番目のサフィックスベクトルBを任意の手段によって。 さて、これは些細なことのように思えるかもしれませんが、キャッチは次のとおりです。あなたのスコアは、バイトカウントとソリューションが機能する最初の年です。 ルール すべての標準ルールが適用されますが、このチャレンジの後にリリースされた言語と言語バージョンも使用できます。 言語が使用するブール値の表現、たとえば1/ 0、True/ False、TRUE/ FALSE、"True"/ "False"などを使用して出力します。 リストのどんな表現言語の使用していること、例えば使用して出力0 0 1、[False,False,True]、(FALSE;FALSE;TRUE)、{"False","False","True"}、など あなたは、と仮定してよい≥ bが常に真であると彼らは適切なデータ型であること。 テストケース 与えられた= 7、B = 3、リターン0 0 0 0 1 1 1 与えられた= 4、B = 4、リターン[True,True,True,True] 与えられた= 2、B = 0、リターン(FALSE;FALSE) 与えられた= 0と、B = 0、リターン{} ソリューション例とスコアリング {⌽⍺↑⍵⍴1}Dyalog APLを使用してソリューションを提出したい場合があります。これは8のバイトカウントになります。これは動的関数で、1998年にリリースされたDyalog APLのバージョン8.1から機能するため、合計スコアは2006です。提出された回答は次のようになります。 # Dyalog APL 8.1, 1998 + …

2
1行のPEP8違反の最大数
あなたの仕事は、多くのpep8違反がある行を含むファイルを書くことです。 ルール: pep8バージョン1.5.7とデフォルト設定を使用します。 他のコマンドラインオプションでpep8を呼び出したり、カスタムrcファイルを使用したりすることはできません。 行の最大長は120文字です。確かにE501に違反する可能性がありますが、スコアが計算される行は120文字以下でなければなりません。 モジュールには、前後に他の行を含めることができますが、スコアに寄与するのは1行のみです。 ファイルには、SyntaxErrorsまたは任意の種類のガベージを含めることができます。インポートまたは実行する必要はありません。 スコアリングの例: 次のモジュールにthing.pyは、2つのpep8違反がある行(行1)が含まれているため、スコアは2です。 spam='potato' スコアを確認するには: ~$ mktmpenv (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pip install pep8==1.5.7 (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ echo -n "spam='potato'" > thing.py (tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pep8 thing.py thing.py:1:5: E225 missing whitespace around operator thing.py:1:14: W292 no newline at end of file

30
消える要素
文字列Sとインデックスのリストを指定すると、その結果をの新しい値として使用しながら、の各インデックスの要素を削除してX変更SしSますS。 例えば、与えられたS = 'codegolf'とX = [1, 4, 4, 0, 2]、 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

5
最速のツイート可能な整数因数分解器
タスクは、合成数の重要な要素を見つけることです。 コードの長さが140バイトを超えないことを条件に、複合数の重要な要素をできるだけ早く見つけるコードを記述します。出力は、あなたが見つけた要素である必要があります。 コードは、たとえば関数の引数としてなど、便利な方法で入力を取得し、出力を提供できます。 すべての要因をリストするテストケース(出力する必要があるのは1つだけです) 187: 11 17 1679: 23 73 14369648346682547857: 1500450271 9576890767 34747575467581863011: 3628273133 9576890767 52634041113150420921061348357: 2860486313 5463458053 3367900313 82312263010898855308580978867: 264575131106459 311111111111113 205255454905325730631914319249: 2860486313 71755440315342536873 1233457775854251160763811229216063007: 1110111110111 1000000000063 1111111999999 1751952685614616185916001760791655006749: 36413321723440003717 48112959837082048697 テストに興味があるかもしれない次の難しいテストケースであなたの答えを採点しません: 513231721363284898797712130584280850383: 40206835204840513073 12764787846358441471 スコア スコアは、上記のすべてのテストケースを因数分解するための合計時間であり、因数分解に失敗するたびに10分のペナルティがあります(すべて最も近い秒に丸められます)。コードは他の整数でも機能するはずです。つまり、これらの答えをハードコーディングするだけではいけません。 10分後にコードを停止します。 2人が同じスコアを獲得した場合、最初の答えが勝ちます。 制限事項 コードでは、整数分解を実行する組み込み関数またはライブラリ関数を使用できません。入力は256ビット未満であると想定できます。すべての入力番号は合成されます。 どうやって時間を計るの? 私はtime ./myprog、Ubuntuシステムで文字通りタイミングを実行するので、定義した機能を含む完全なプログラムも実行してください。 コンパイルされた言語に関する注意 私のマシンでは、コンパイル時間は1分以内でなければなりません。 実際に可能ですか? スペースの制約を無視すると、純粋なPythonコード+ …

15
拡張真実マシン
多くの人々は、プログラミングにおける真実マシンとは何かを知っています。しかし、私たちが物事を一気に始める時です。拡張真実マシンの紹介!拡張真理値マシンは、整数nと空でない文字列の2つの入力を入力として受け取りますs。s nオプションの末尾の空白を使用して時間を出力します。ただし、nがに等しい場合、プログラムが手動で停止されるまで、つまり終了し0ないように出力sする必要があります。 また、nが負の数の場合、文字列を逆にする必要があります。たとえばs=helloandのn=-1場合、出力はになりますolleh。 入力の標準的な方法、無限を処理できる限りのあらゆる種類の出力。無限を処理しない答えがある場合、それが興味深いか無限の出力を処理できない言語である場合は、気軽に投稿してください。 テストケース n, s, output 5, "hello world", "hello worldhello worldhello worldhello worldhello world" 0, "PPCG", "PPCGPPCGPPCGPPCG..." -2, "truThY", "YhTurtYhTurt" 2000, "o", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" これはcode-golfなので、最短のコードが勝ちます! オリジナルのサンドボックスの投稿はこちらです。編集が行われました。この課題のアイデアを作成してくれた@ComradeSparklePonyに感謝します。

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

2
レプトン圧縮を阻止する
Dropboxは最近、レプトン(GitHub)をリリースしました。これは、往復でJPEG画像を無損失で圧縮し、平均22%を節約する方法です。 そのための鳩の巣原理、任意の一般的な圧縮アルゴリズムをすることはできません保証(小さいファイルをもたらすために、一般的には、特定の形式に制約の入力には適用されないため)。LeptonはJPEGに関する一般的な特性を利用します。JPEGは、破壊された場合、ソースよりも大きいファイルを生成するためにそれをピジョンホールする可能性があります。 必要条件 以下を生成するプログラムを作成します。 有効なJPEG / JFIF画像、 0.5 MB〜1 MBのサイズで、 256×256 px以上 4096×4096 px以下 レプトンが認識できる(.lep画像に正常に「圧縮」できる) (入力として)同一に 解凍し.jpgます。 APPx、COMおよびその他のメタデータ、非グラフィックマーカーセクションはJPEGで制限されています(ランダムな量の任意のバイトを画像に注入して、1:1圧縮に漸近的に近づくことは不十分です)。 APP0JFIFマーカーは(正確に16バイトでなければならない)、許可されているが、サムネイルが許可されません tl; dr意図的にメタデータをEXIFセグメントに押し込んでおらず、選択した言語ライブラリが画像に配置したいサムネイルを無効にしている場合、それは問題ありません。 コードと画像を投稿してください。 変換すると基準を満たすJPEG が生成されるLeptonイメージを生成するプログラムを作成する場合は、問題ありません。任意の多くのJPEG→Lepton→JPEG→...サイクルにわたって同一のままでなければなりません。 得点 ソースJPEG画像で割ったレプトン画像のバイトサイズ。高い(レプトン圧縮が悪い)ほど優れています。デフォルトのフラグとスイッチでレプトンを実行します。 レプトンを取得する レプトンを構築する5秒間のクラッシュコース: git clone https://github.com/dropbox/lepton.git cd lepton ./autogen.sh && ./configure && make # fish shell: ./autogen.sh ;and ./configure ;and make その後./lepton --help、あなたに物事を伝える必要があります。

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