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

任意のデータの圧縮または解凍に関連しています。単一の特定の入力の圧縮に関連する課題は、代わりにタグ付けする必要があります[kolmogorov-complexity]

2
画像を4 KiBプレビューに圧縮する
この課題では、画像プレビュー圧縮アルゴリズムを作成します。目標は、任意の画像ファイルを4 KiBプレビュー画像に縮小することです。これを使用して、非常に少ない帯域幅で画像をすばやく識別できます。 圧縮プログラムと解凍プログラムの2つのプログラム(または1つの結合プログラム)を作成する必要があります。どちらも入力としてファイルまたは標準入力を取り、ファイルまたは標準出力に出力する必要があります。コンプレッサーは、主流の可逆画像形式(PNG、BMP、PPMなど)の1つの画像を受け入れ、最大4096バイトのファイルを出力する必要があります。解凍プログラムは、圧縮プログラムによって生成されたファイルをすべて受け入れ、入力にできるだけ近い画像を出力する必要があります。エンコーダー/デコーダーにはソースコードサイズの制限がないため、アルゴリズムを工夫することができます。 制限事項: 「不正行為」はありません。プログラムは隠し入力を使用したり、インターネットにデータを保存したりすることはできません。また、スコアリング画像のセットのみに関連する機能/データを含めることも禁じられています。 ライブラリ/ツール/ビルトインの場合、一般的な画像処理操作(スケーリング、ぼかし、色空間変換など)を使用できますが、画像のデコード/エンコード/圧縮操作はできません(コンプレッサー入力およびデコンプレッサー出力を除く)。また、一般的な圧縮/解凍も許可されていません。この課題のために独自の圧縮を実装することを意図しています。 圧縮解除プログラムによる画像出力のサイズは、圧縮プログラムに指定された元のファイルのサイズと正確に一致する必要があります。画像の大きさがどちらの方向でも2 16を超えないと仮定できます。 コンプレッサーは、平均的な消費者向けPCで5分以内に実行する必要があり、デコンプレッサーは、以下のセットのすべての画像に対して10秒以内に実行する必要があります。 得点 迅速な検証と視覚的な比較を支援するために、回答を使用して圧縮した後のテストコーパスのロスレスイメージアルバムを含めてください。 コンプレッサーは、次の画像コーパスを使用してテストされます。 こちらから zipファイルのすべての画像をダウンロードできます。 スコアは、すべての画像でのコンプレッサーの平均構造類似性インデックスになります。dssimこの課題にはオープンソースを使用します。ソースから簡単に構築できます。Ubuntuを使用している場合はPPAもあります。独自の回答を採点することをお勧めしますが、Cアプリケーションの構築方法がわからず、Debian / Ubuntuを実行していない場合は、他の人に採点を許可することができます。dssimPNGでの入出力を想定しているため、別の形式で出力する場合は、最初に出力をPNGに変換します。 スコアリングを簡単にするために、以下に簡単なPythonスクリプトの使用方法を示しますpython score.py corpus_dir compressed_dir。 import glob, sys, os, subprocess scores = [] for img in sorted(os.listdir(sys.argv[1])): ref, preview = (os.path.join(sys.argv[i], img) for i in (1, 2)) sys.stdout.write("Comparing {} to {}... ".format(ref, preview)) out …

11
切断するワイヤー
このタスクは、一連の条件の圧縮と処理に関するものです。 Keep Keepinging and Nobody Explodesのゲームでは、爆弾デフューザーは、複雑な爆弾処理マニュアルを参照する専門家によってリレーされた指示の助けを借りて爆弾を武装解除しなければなりません。この課題は、マニュアルの5ページで説明されているモジュール「ワイヤの主題」を扱います。デフューザーには、色付きのワイヤーの配列が表示されます。そのうち1つだけが安全に切断できます。残りは爆弾を爆発させます。 コードは、「ワイヤ切断規則」で再現されたマニュアルの指示に従って、ワイヤの数と色に基づいて切断するワイヤを決定するエキスパートとして機能します。 入力:大文字で表される、3、4、5、または6ワイヤー色の順序付きリストまたはストリング: B: ブラック U: 青い R: 赤 W: 白 Y: 黄 青はUであることに注意してくださいB。 入力には、爆弾のシリアル番号の最後の桁が奇数であるかどうかのビット(True / Falseまたは0/1)も含まれます。これは、いくつかのルールで使用される条件です。 ワイヤの数を個別の入力として使用するのではなく、リストまたは色の文字列から取得する必要があります。おそらくあなたの言語がどれくらいの長さかわからない場合、リストまたは文字列に色の後にターミネータ要素を含めることができます。このターミネータは、追加情報をエンコードしない固定値である必要があります。 出力:切断するワイヤを示す1〜6の数字。これはゼロインデックスではないかもしれません。 ワイヤー切断規則:これらの規則は、デファスラルマニュアルの 5ページから複製されています。 3 wires: If there are no red wires, cut the second wire. Otherwise, if the last wire is white, cut the last wire. Otherwise, …

28
超対数を計算する
これは簡単な課題です。 数を考えるとn >= 0、出力超対数(またはログ*、ログスターを、または対数を繰り返し、同等であるため、nこのような課題に対して負になることはありません。)のn。 これは、テトラションに対する2つの逆関数の1つです。もう1つはスーパールートです。これは関連する質問です。 例 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 ルール 可能ですが、小数をサポートする必要はありません。 少なくともの入力をサポートする必要があり3814280 = ceiling(e^e^e)ます。 のような値をハードコーディングすることはできません3814280。(あなたのプログラムは理論的にはより大きな数値をサポートしなければなりません。)アルゴリズムを実装したいです。 最短のコードが優先されます。 関連OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

8
チューブのどこかに…しかし、どの行に?
The London Underground AKA The Tubeは、世界最古の地下鉄です。現在、267の名前の駅(「Edgware Road」と「Hammersmith」以降は厳密に269 **の駅)にサービスを提供する11路線で構成されています。 チャレンジ 入力として名前で指定されたステーションにサービスを提供する回線の名前を出力します。 入力: 文字列または文字のリスト これは、有効なステーション名であると想定される場合があります(以下のコードブロックにリストされています)。 必要に応じ&て、入力内のいずれかが一貫して単語and(またはAnd)であると想定し、回答に明確に記述してください。 出力: 分離そのステーションにサービスを提供する11行の出力をリストする出力: 文字列のリスト、文字のリストのリスト、印刷されたテキスト、文字列、文字のリスト。疑問がある場合は尋ねてください。 あなたはよい一貫出力単語をand(またはAndいずれかの場所で)&希望場合ますが、答えにこれを明記してください。 セパレーター部分文字列が使用する文字列または文字のリストを印刷または返す場合、行名のいずれにも存在しない(&またはandorまたはAnd使用済みを含む)-したがって、セパレーターとしての単一のスペース文字の使用は除外されることに注意してください。 チューブネットワーク: -注:スペルミスが発生した場合でも、これは最終状態です(回答の前に対処しない限り)。 Input (Station Name) : Output (list of tube line names) ---------------------------------------------------------------------------------------------------------------- "Acton Town" : ["District","Piccadilly"] "Aldgate" : ["Circle","Metropolitan"] "Aldgate East" : ["District","Hammersmith & City"] "Alperton" : ["Piccadilly"] "Amersham" : …

21
「0xUsernames」の変換
0xユーザー名 メッセージングサービスを使用しているユーザーが非常に多いため、すべてのユーザー名を保存するためのスペースが不足しています。これを修正するために、可能であれば16進数としてユーザー名の保存を開始します。 ユーザー名が文字のみで構成されている0123456789ABCDEF場合(大文字と小文字は区別されません)、16進数に変換して整数として保存できます。たとえば、ユーザー名ba5eba11は0xBA5EBA11、16進整数として解釈できます。 しかし、どう05AB1Eですか?先行ゼロがあり、これは失われます。そのため、ユーザー名を変換するときは常に1、整数として読み取る前に必ずaを追加します。 チャレンジ あなたの仕事は、空でないユーザー名を文字列として与えられたユーザー名を 'hexa-compresss'するプログラムまたは関数を書くことです: 16進整数として解釈できる場合は、1を先頭に追加し、16進数として解釈し、結果を10進数として出力します。 それ以外の場合は、変更されていない文字列を返します。 これはcode-golfなので、最短のソリューション(バイト単位)が勝ちです!組み込みのベース変換関数が許可されています。 テストケース 結果の整数は、言語の標準整数範囲内にあると想定できます。 ほとんどのメッセージングシステムのユーザー名と同様に、入力文字列には英数字とアンダースコアのみが含まれます。 1変換する前に必ず先頭を追加する必要があることを忘れないでください! "ba5eba11" -> 7421737489 "05AB1E" -> 17148702 "dec0de" -> 31375582 "Beef" -> 114415 "da7aba5e" -> 7960443486 "500" -> 5376 "DENNIS" -> "DENNIS" "Garth" -> "Garth" "A_B_C" -> "A_B_C" "0x000" -> "0x000" 参考のために、テストケースに使用したPython 3の実装を以下に示します(変更なし)。 import re def convert_name(name): …

6
大きな大きな数字
私の答えのいくつかをゴルフにしようとしながら、できるだけ少ない文字で大きな整数を書く必要がありました。 今、私はそれを行うための最良の方法を知っています。このプログラムを書いてもらうつもりです。 チャレンジ 正の整数を指定すると、標準出力または同等の出力を出力するプログラムを出力するプログラムを作成します。 出力プログラムは、作成者と同じ言語である必要はありません。 出力は最大で128バイトでなければなりません。 stdinまたは同等のもの(関数入力ではない)からの入力を受け入れることができます 結果のプログラムをstdoutまたは同等のものに出力できます。 数値の出力は10進数でなければなりません(基数10) 得点 スコアは、プログラムでエンコードできない最小の正の整数に等しくなります。 スコアが最大のエントリが勝ちます。

15
セミパリンドロームパズル
回文とは、それ自体が逆の言葉です。 今ではパリンドロームのように見えるかもしれないがそうではない単語がいくつかあります。たとえば、単語 はパリンドロームsheeshで sheeshはありません。その逆はhseehsどちらが異なるかを考えshてみましょう。しかし、単一の文字と考えると、逆はになりsheeshます。この種の単語をセミパリンドロームと呼びます。 具体的には、単語をいくつかのチャンクに分割して、チャンクの順序が逆になったときに元の単語が形成される場合、単語はセミパリンドロームです。(sheeshこれらのチャンクはsh e e sh)単語の両方の半分からの文字を含むチャンクも必要ありません(そうでない場合、すべての単語はセミパリンドロームになります)。たとえば、元の単語の両側の文字を含むチャンク()があるrearため、セミパリンドロームではありません。奇数の長さの単語の中心文字は単語のどちら側にもないと考えます。したがって、奇数の長さの単語の場合、中心文字は常に独自のチャンクになければなりません。r ea rea あなたの仕事は、正の整数のリストを取得し、それらがセミパリンドロームかどうかを判断することです。コードは、入力がセミパリンドロームの場合とそうでない場合の2つの一貫した等しくない値を出力する必要があります。ただし、コードのバイトシーケンスはセミパリンドロームそのものでなければなりません。 回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 テストケース [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False より多くのテストケースを生成するプログラム。 恐ろしいことは、これらが一般化されたスマランダチェ回文に似ていることを指摘した。したがって、さらに読みたい場合は、1つの場所から始めてください。

10
原子イオン化エネルギーの圧縮
これは、異なるタイプの圧縮チャレンジです。通常のkolmogorov-complexityチャレンジでは、リストを正確に再作成する必要があります。ここでは、任意の方法で値を丸めることができます。キャッチは何ですか?あなたのスコアは、あなたのアウトプットがいかに間違っているかに基づいてペナルティを受けます。 この質問の一番下には、最初の108個の元素の最初のイオン化エネルギーのリストがあります。プログラムは、実行時に、このリストのかなり正確なコピーを出力する必要があります。入力や引数はありません。スコアリングのために、出力は確定的である必要があります(毎回同じ出力)。 出力フォーマット プログラム/関数は、原子番号の昇順にソートされた108個の数字のリストを出力する必要があります。このリストは、任意の適切な形式にすることができます。以下のソースデータは、水素からハッシウムまでの正しい順序で提供されています。 得点 スコアは、プログラムのバイト単位の長さに丸めのペナルティを加えたものになります。 丸めペナルティは各要素に対して計算され、合計されて合計ペナルティが得られます。 例として、番号を見てみましょう11.81381。プログラムがの誤った値を出力するとしましょう11.81299999。 最初に、真の値に小数点がないように、両方の数値に同じ10の累乗を掛けます1181381, 1181299.999。真の値の末尾のゼロは重要と見なされます。 次に、絶対誤差を決定するために絶対差が取られます81.001。 最後に、この要素のペナルティをとして計算しmax(0, log10(err * 4 - 1)) -> 2.50921ます。この式は、誤差が0.5未満であればペナルティが与えられないように選択されました(丸め内で答えが正しいため)その他の圧縮)。 以下は、ペナルティ計算プログラムのTry-It-Online実装です。このプログラムへの入力は、1行に1つずつ、数字のリストとして提供されます。このプログラムの出力は、合計ペナルティとスコアリングの要素ごとの内訳です。 データ 以下の番号のリストは、原子番号1から108までの正しい順序のターゲットデータです。 ソース 13.598434005136 24.587387936 5.391714761 9.322699 8.2980190 11.260296 14.53413 13.618054 17.42282 21.564540 5.1390767 7.646235 5.985768 8.151683 10.486686 10.36001 12.96763 15.7596112 4.34066354 6.11315520 6.56149 6.82812 6.746187 6.76651 7.434018 7.9024678 7.88101 …

3
ゴルフストリングス
文字列圧縮を必要とするkolmogorov-complexityの課題に対する答えを出すことができませんでした。主な理由は、文字列圧縮ツールを必要以上に効果的に使用することを知らないためです。 このため、この質問を投稿しました。私の他のヒントの質問とは異なり、これは言語固有の意味ではありません。自分の言語でヒントを考えることができる場合は、投稿することができます(言語を指定する場合)。一般的なヒントも歓迎します。 それでは、文字列圧縮ツールを最大限に有効に使用するにはどうすればよいですか?

2
Lossy ASCIIアート圧縮
バックグラウンド PICASCIIは、画像をASCIIアートに変換するきちんとしたツールです。 次の10個のASCII文字を使用して、さまざまな明るさを実現します。 @#+';:,.` これらの文字(文字要素)の明るさは1(アットマーク)から10(スペース)までです。 以下に、正しいフォントで表示された小さなコード、ウェールズの旗、オーバーハンドフラクタル、大きなマス、小さなゴルフの変換結果を示します。 このフィドルの画像を表示して、Googleドライブからダウンロードできます。 仕事 PICASCIIの最終結果は視覚的には満足のいくものですが、合計5つの画像の重量は153,559バイトです。品質の一部を犠牲にする場合、これらの画像をどれだけ圧縮できますか? あなたの仕事は、上記のようなASCIIアートイメージと最低品質を入力として受け入れ、完全なプログラムまたは単一の文字列を返す関数の形式で、イメージの非可逆圧縮を印刷するプログラムを作成することです。品質要件。 これは、別個の解凍プログラムを作成できないことを意味します。各圧縮イメージに組み込まれている必要があります。 元の画像は、1〜10の明るさの文字で構成され、同じ長さの行に改行で区切られます。圧縮されたイメージは同じサイズで、同じ文字セットを使用する必要があります。 n個の charxelsで構成される非圧縮画像の場合、画像の圧縮バージョンの品質は次のように定義されます。 ここで、cは私の輝度であるI 番目の圧縮された画像の出力のcharxel及びU Iの輝度I 番目の非圧縮の画像のcharxel。 得点 コードは、入力として上記の5つの画像を使用して実行され、各画像の最小品質設定は0.50、0.60、0.70、0.80、0.90です。 スコアは、すべての圧縮画像のサイズの幾何平均です。つまり、25個すべての圧縮画像の長さの積の25番目のルートです。 最低スコアが勝ちます! 追加のルール コードは、スコアリングに使用される画像だけでなく、任意の画像に対して機能する必要があります。 テストケースに向けてコードを最適化することが期待されますが、任意の画像を圧縮しようとさえしないプログラムは、私から賛成を得ることはありません。 コンプレッサーは、組み込みのバイトストリームコンプレッサー(gzipなど)を使用する場合がありますが、圧縮イメージ用に自分で実装する必要があります。 通常、バイトストリームデコンプレッサ(ベース変換、ランレングスデコードなど)で使用されるブリットインが許可されます。 圧縮プログラムと圧縮イメージは同じ言語である必要はありません。 ただし、すべての圧縮画像に対して単一の言語を選択する必要があります。 各圧縮画像には、標準コードのゴルフ規則が適用されます。 検証 CJamスクリプトを作成して、すべての品質要件を簡単に検証し、提出のスコアを計算しました。 Javaインタープリターは、こちらまたはこちらからダウンロードできます。 e# URLs of the uncompressed images. e# "%s" will get replaced by 1, 2, 3, 4, 5. …

14
これは切り捨てられた三角形の数ですか?
関連するOEISシーケンス:A008867 切り捨てられた三角数 三角形の数の一般的なプロパティは、三角形に配置できることです。たとえば、21を取り、osの三角形に配置します。 o ああ おー おおおお ああ おっと 各角から同じサイズの三角形を切り取る「切り捨て」を定義しましょう。21を切り捨てる1つの方法は次のとおりです。 。 。。 おー おおおお 。おー。 。。oo。。 (の三角形は.オリジナルからカットされます)。 o残りは12 秒なので、12は切り捨てられた三角形の番号です。 仕事 あなたの仕事は、整数を取り、数値が切り捨てられた三角形の数であるかどうかを返す(または標準出力メソッドのいずれかを使用する)プログラムまたは関数(または同等のもの)を書くことです。 ルール 標準的な抜け穴はありません。 入力は負でない整数です。 カットの辺の長さは元の三角形の半分を超えることはできません(つまり、カットは重なり合うことができません) カットの辺の長さはゼロにすることができます。 テストケース 真実: 0 1 3 6 7 10 12 15 18 19 偽物: 2 4 5 8 9 11 13 14 16 17 20 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

1
差分圧縮[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 2年前に閉店。 この課題のために、差分を圧縮する必要があります。 diffは、2つの文字列の違いを表すデータです。 この課題のために、次のことができる1つ以上のプログラムを提供する必要があります。 を入力AしB、差分を出力します。C 入力AおよびC、および出力B 入力BおよびC、および出力A 目標は、diff Cをできるだけ小さくすることです。 diffは、文字列、数値、データのblobなど、何でもかまいません。サイズ(バイト数)だけが重要です。 Githubで見つけることができる 50のテストケースがあります。各テストケースは、スペースで区切られた2つのURLで構成されており、diffする必要がある2つのファイルを指します。(これらのテストケースは、PPCGメンバーのGithubプロファイルから作成されました。ありがとうございます!) 上記の3つのタスクはすべて、(各テストケースごとに)十分に電力が供給されたコンピューターで実行するのに1分未満かかります。 スコアは50個の差分すべての合計サイズ(バイト単位)に等しく、値が小さいほど優れています。プログラムでの差分のハードコーディングは許可されていません(ハードコーディングを防ぐためにテストケースを変更する権利を留保します)。diff(などdiffutils)を生成する組み込み関数は使用できません。

7
印刷可能なASCIIフロントに移動します
バックグラウンド 最前面への変換(MTF)は、エントロピーエンコーディング技術のパフォーマンスを向上させるために設計されたデータエンコーディングアルゴリズムです。 BZIP2圧縮アルゴリズムの後、それが適用されるバローズ-ウィーラー変換(に見られるようにバローズ、ウィーラー戻る小さい、容易に圧縮非負整数に繰り返される文字のグループを旋回する目的で、)。 定義 この課題のために、MTFの印刷可能なASCIIバージョンを次のように定義します。 入力文字列が与えられ、S、空の配列を取るR、列Dの各文字については、以下のすべての印刷可能なASCII文字の(0x7Eをへの0x20を)と繰り返しCのS: インデックス付加Cの中のDにR。 cをdの前に移動します。つまり、dからcを削除し、残りの前に追加します。 最後に、rの要素を元の dのインデックスとして使用し、対応する文字を取得します。 ステップバイステップの例 INPUT: "CODEGOLF" 0. s = "CODEGOLF" d = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [] 1. s = "ODEGOLF" d = "C !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35] 2. s = "DEGOLF" d = "OC !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35 47] 3. s = …

12
あなたのベース97はすべて私たちのものです
多くのプログラミング言語は、印刷可能なASCII、タブ、改行のみを使用して記述されています。これらの97文字は、8ビットバイト(実際には256の異なる文字を保持できる!)に格納されます。これは非常に非効率的です-特に、すべてのバイトがカウントされるコードゴルフでは!この課題では、ベースコンバージョンを使用してスコアを下げることができます。 チャレンジ プログラム/関数は、文字列または文字配列を入力として受け取り、それをベース97の数値として解釈します。次に、これを256ベースの数値に変換し、 この数値を表すために必要なシンボル(バイト)の数をカウントします。このカウントは、プログラム/関数の出力/戻り値になります。 base-2およびbase-10(2進および10進)を使用した簡単な例:入力がの場合、1011010110 2 = 22 10(出力を表すのに2桁必要)なので、出力は2になります。同様に、1101 2は13 10になり、出力も2になり、110 2は6 10になるため、出力は1になります。 入力文字列には、95個の印刷可能なASCII文字すべて と、基本変換用の97個の記号のソースアルファベットを作成する改行\n文字とリテラルタブを含めることができます。したがって、正確なアルファベットは次のようになります(and を実際のリテラルタブと改行で置き換えます。改行の後のリテラルスペースに注意してください)。\t\t\n \t\n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ このアルファベットの順序は重要であることに注意してください。たとえば、base-97 \tはdecimal 0に対応し、decimal に!対応します3。 いくつかのテストケース:(空の文字列を処理する必要はありません) Input Output 'example@domain.com' 15 'All your base are belong to us!' 26 ' abcd' 9 '~ abcd' 10 'ABCDEFGHIJK' 9 'zyxwvutsrpq' 10 '{".~"}.~' 7 '\t\t\t\t\t\t\t\t' 1 (with …

15
g l f a t a n 2
時には、デカルト座標(x,y)を極座標に変換するのは本当に大変です(r,phi)。r = sqrt(x^2+y^2)非常に簡単に計算できますが、角度を計算する際にケースの区別が必要になることがよくあります。phiこれarcsinはarccos、arctanおよび他のすべての三角関数が、それぞれが円の半分のみに広がる共領域を持つためです。 多くの言語には、直交座標を極座標に変換するための組み込みatan2機能があります。または、少なくとも(x,y)角度を計算する関数がありますphi。 仕事 あなたのタスクは、2つ(浮動小数点、両方ではないゼロ)デカルト座標を取るプログラム/関数を記述することで(x,y)、対応する極角出力するphi、phiと(度、ラジアン、またはグレードでなければならないグレード Iは、平均グラジアン 1であります/ 400の完全な円)、あなたにとってより便利な方。 角度は正の方向で測定され、の角度はゼロです(1,0)。 詳細 あなたは、角度計算ビルトインを使用することはできませんphiを含む2点の座標、与えられたatan2、rect2polar、argOfComplexNumberおよび同様の機能を。ただし、通常の三角関数とその逆関数を使用できます。これらの関数は1つの引数のみを取ります。単位記号はオプションです。 半径はr非負でなければならない、とphiの範囲でなければなりません[-360°, 360°](それはあなたの出力かどうかは関係ありません270°か-90°)。 例 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

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