タグ付けされた質問 「ascii-art」

この課題には、テキスト文字をペイントとして使用して画像を作成または解析することが含まれます。通常、これは1963年からのASCII標準で定義された(合計128から)95の印刷可能な文字のみを使用します。

24
この番号はレーシアンですか?
正の整数kは、次の場合、レーシアン数です。 ki*i + j*j + i*jfor i、j整数として表現できます。 たとえば、最初の正のロジアン数は次のとおりです。1(i=1、j=0); 3(i=j=1); 4(i=2、j=0); 7(i=2、j=1); 9(i=-3、j=3); ... は、特定のに対して一意ではないことiに注意してください。例えば、も用いて生成することができます、。jk9i=3j=0 これらの数値の他の同等の特性は次のとおりです。 k表すことができるi*i + j*j + i*jためi、j負でない整数。(整数の各ペアについてi、j同じを与える非負整数のペアがありますk) k六角形のグリッド上でテッセレーションを形成する一連の連続した六角形があります(k = 4およびの図を参照k = 7)。(この特性のため、これらの数値はモバイルセルラー通信ネットワークに適用されます。) シーケンスのOEISページでその他の特性を参照してください。 チャレンジ 正の整数が与えられた場合、それがレーシアン数であれば真の結果を出力し、そうでなければ偽の結果を出力します。 プログラムまたは関数は1000、データ型の制限まで、または1分未満で入力を処理する必要があります。 コードゴルフ。最短勝。 テストケース 次の数値は、真の結果を出力するはずです。 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 次の数値は偽の結果を出力するはずです。 2, 5, 10, 42, 101, 102, 128, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

29
プレフィックスコードですか?
情報理論では、「プレフィックスコード」とは、どのキーも別のキーのプレフィックスではない辞書です。言い換えれば、これは、文字列が他の文字列で始まらないことを意味します。 たとえば、{"9", "55"}はプレフィックスコードですが、そうで{"5", "9", "55"}はありません。 これの最大の利点は、エンコードされたテキストを区切り文字なしで書き留めることができ、一意に解読できることです。これは、常に最適なプレフィックスコードを生成するHuffmanコーディングなどの圧縮アルゴリズムに現れます。 タスクは簡単です。文字列のリストが与えられたら、それが有効なプレフィックスコードかどうかを判断します。 あなたの入力: 妥当な形式の文字列のリストになります。 印刷可能なASCII文字列のみが含まれます。 空の文字列は含まれません。 出力は、真/偽の値になります。有効なプレフィックスコードの場合はTruthy、そうでない場合はfalseyです。 真のテストケースを次に示します。 ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] いくつかの誤ったテストケースを次に示します。 ["4", "42"] ["1", "2", …

5
重力シミュレーター
ステートメント 2Dグリッドに落ちる一連のボールの静止画が表示されます。このグリッドは不変で壊れない壁に囲まれているため、すべてのアクションが壁に含まれています。あなたの仕事は、重力がすべての作業を行った後、シナリオの状態がどうなるかを決定することです。 グリッド内の要素 - 床、落下するボールの方向を変えません。 \ 右スライド、ボールのパスを1つ右に変更します。 / 左スライド、ボールのパスを1つ左に変更します。 o ボール。 ルール ボールが落ちる。 床とスライドは落ちません。 ボールがスライドを打って壁(\#または#/)を通過したり、床を横切ったりすると、スライドは床として機能します。 ボールが別のボールに当たった場合、ボールは1つのボールになりますが、両方のボールの合計までパワーを増やします。 (結合された)新しいボールは、通常どおりに動作し続けます。 ボールがそれ以上移動できなくなると、その力に置き換えられます。 ボールのパワーは常に最大9です。 入力 グリッドは、選択した言語で最も短い名前の文字列変数で指定されます。デフォルトではa、入力として使用します。受け取ったとおりの入力のサンプル: ##########\n# \ #\n#o #\n# - -\o #\n#/- \ #\n# \oo-/\#\n#-/ \ /#\n# \ \ #\n# /#\n########## 生成されたランダムグリッドの場合はhttps://repl.it/B1j3/2を使用します。代わりに生成されたページを使用します(広告なし、がらくたなし、入力と出力のみ) 注改行があります\n。入力を画面に印刷すると(チャレンジには不要)、次のように表示されます。安全なスペースに4つのパズルを並べましたが。 ########## ########## ########## ########## # \ # # o -/# # …

30
ボックスを開くのを手伝ってください
ASCIIアートボックスがあり、それを開くにはプログラムが必要です。 例 入力: ------- | | |_____| 出力: / / / / / / / | | |_____| 仕様 最初の行は-、少なくとも3 つのみで構成されます 中央の行は|スペースで始まり、次で終わります| すべての中央の行は同じになります 最後の行は|have _で始まり、aで終わる| すべての行は同じ長さになります ボックスを開く: それぞれ-を/昇順の行と位置に置き換えます。

11
この質問には浮き沈みがあります
入力は次の文字で構成されます。 ^:1つ上へ v:1つ下に行く ▲またはk:2つ上に移動します ▼またはj:2つ下に移動します たとえば、次の入力: ^^▲^v▼▲^^v 次の出力が生成されます。 ^ ^ ^ v ▲ v ▲ ^ ▼ ^ などのカーソルを移動するエスケープシーケンス\e[Bは許可されません。スペースと改行を使用して出力を生成する必要があります。 ここにさらにいくつかのテストケースがあります。 ▲v^v^v^v^v^v^v^v▲ ▲ ▲ ^ ^ ^ ^ ^ ^ ^ v v v v v v v v ^^^^^^^▲▲▲▼▼▼vvvvvv ▲ ▲ ▼ ▲ ▼ ^ ▼ ^ v ^ v …

7
アンチエイリアスASCIIアート
バックグラウンド ASCIIアートとは、ASCIIテキストを使用して形状を形成することにより画像を作成する方法です。 エイリアシングは、文字のサイズであるASCIIアートの大きな「ピクセル」によって作成される効果です。画像はブロック状になり、見にくくなります。アンチエイリアスは、グラデーションを作成し、ASCIIアートのハードエッジを柔らかくすることにより、この効果を取り除きます。 チャレンジ あなたの挑戦は、ASCIIアートの一部を取り、アンチエイリアスされたバージョンを出力する、可能な限り短いプログラムを書くことです。 どのようなアンチエイリアシングですか? ASCIIアートはすべて、スペースと非空白の2種類のシンボルで構成されます。空白文字以外の文字ごとに、プログラムは、アンチエイリアス処理が必要な位置にあるかどうかを判断する必要があります。正しい場合は、正しい文字に置き換える必要があります。そうでない場合、キャラクターは同じままです。 キャラクターにアンチエイリアスをかける必要があるかどうか、どのようにしてわかりますか?答えは、キャラクターのすぐ上、下、左、右にあるキャラクターに依存します(対角線ではありません)。ここでアンチエイリアシングが、必要とされるときのチャートである?とx任意の非空白文字を表すことができますが。 x? -> d? ? ? ?x -> ?b ? ? ? ? ?x -> ?F ? ? x? -> Y? x -> ; Note: This character has been changed from _ to ; ? ? ? ? x -> V ?x -> …

23
配電盤のブルートフォース
先日、私たちのチームは脱出室に行きました。パズルの1つには、6つの機械式スイッチのボードが含まれており、ボックスのロックを解除するには、次のような正しいオンとオフの組み合わせを見つける必要がありました。 -v-v-v- -v-v-v- 開発者である私たちは、実際にパズルを解くよりも2 ^ 6 = 64の組み合わせを1つずつ試す方が効率的だと判断しました。そこで、貧しい人にバイナリカウントを割り当てました。 -v-v-v- -v-v-v- -v-v-v- -v-v-^- -v-v-v- -v-^-v- -v-v-v- -v-^-^- 等々。 課題は 、上記のようにフォーマットされた文字列として位置オフのスイッチ全てが与えられると、そのプログラムを書いて、任意の順序でオンとオフのすべての組み合わせを生成します。 完全なプログラムまたは関数のいずれかを作成できます。したがって、プログラムは、stdin、ファイルを介して、または単一の文字列引数として入力を受け取り、出力を返すか印刷することができます。返される場合、出力はlist / array / etcにある可能性があります。単一の文字列ではなく。出力が単一の文字列の場合、ボードは改行で区切る必要があります(末尾の改行は許可されます)。 入力文字列は正規表現r'((-v)+-)(\n(-v)+-)*'と一致し、すべてのスイッチがオフになっている1つのボードを表します。これは、ゼロケースがないことを意味し、スイッチは左揃えです。各行には同じ数のスイッチがない場合があります。 各出力ボードは、入力とまったく同じ形式である必要がありますが、必要に応じてvを^に置き換えることができます。出力ボードは、任意の数の改行で区切ることができます。 ランタイムは当然、スイッチの数がO(2 ^ n)であるため、コードはどのような配置でも10を超えるスイッチではテストされません。 これはコードゴルフなので、バイト数の最も短いコードが優先されます。 サンプルの入力と出力 入力: -v- 可能な出力: -v- -^- 入力: -v- -v- 可能な出力: -^- -^- -^- -v- -v- -^- -v- -v- 多数のスイッチについて回答を確認するのは非常に面倒なので、ここでは健全性チェックツールとしてのPythonスクリプトを示します。(テストケースをさらに増やしたい場合に備えて、特定の入力ファイルから期待される出力を生成するために、現在コメントアウトされたスニペットを含めました。)入力文字列を「input」という名前のファイルに入れ、改行で区切られた出力(申し訳ありませんが、リストのフォーマットはありません)は同じディレクトリの「output」という名前のファイルに入れて実行しpython3 sanitycheck.pyます。

30
レーンの数字
入力: 整数のリスト 出力: -0123456789重複する数字を無視して、各数字(およびマイナス記号)を独自のレーンに順番に配置します。 例: 入力: [1,729,4728510,-3832,748129321,89842,-938744,0,11111] 出力: -0123456789 <- Added as clarification only, it's not part of the output 1 2 7 9 012 45 78 - 23 8 1234 789 2 4 89 - 34 789 0 1 チャレンジルール: 番号の重複した数字は無視されます。 I / Oは、任意の合理的な形式にすることができます。入力は、文字列のリスト/配列または文字配列にすることができます。出力は、文字列、文字、文字行列などのリストとして可能です。 末尾のスペースはオプションです。 先頭または末尾の改行の量は任意です(ただし、行の間ではありません)。 入力には常に少なくとも1つの整数が含まれます -2,147,483,648ただし、少なくとも2,147,483,64732ビットの整数範囲をサポートする必要があります。 input-listには-0、00(または2つ以上のゼロ)、または先頭にゼロが付いた整数(つまり012)は含まれません。 …

1
Pyramid Schemeコードを生成する
Pyramid Schemeは@ ConorO'Brienによって開発されている言語です。Pyramid Schemeでは、作成するコードは次のようになります。 ^ ^ / \ /3\ / \ --- / + \ ^-------^ /9\ /3\ /123\ --- ----- さて、このコードには2つの明らかな性質があります。解析するのが難しく、書くのが難しいということです。Conorは最初の問題を解決しましたが、2番目の問題を解決するのはあなたの仕事です。 上記のコードは、PyramidSchemeインタープリターによって、次のようにネストされた文字列配列に処理されます。 [["+", ["9123", "3"]], "3"] あなたの仕事は、ネストされた文字列の配列を与え、再作成されたPyramidSchemeコードを出力または返すプログラムまたは関数を書くことです。入力配列は常に有効であると想定できます。 ピラミッドは二等辺三角形です。上部は、^斜めに離れると辺傾き、/及び\、下です-。下の2つの角は空であるか、引数である他のピラミッドの開始点を含んでいます。中央には、改行を無視してピラミッドの名前が表示されます。 パーサーがコードを使用可能な形式に変換する方法を次に示します。まず、最上位のピラミッドをスキャンします。引数をとらない場合、単一の文字列でそれを表し、先に進みます。それ以外の場合は、配列["name",[arg1,arg2]]またはとして表現され["name",[arg1]]ます。引数は、ピラミッドの左下および右下のピラミッドです。これは、上記の文字列または複数の配列のいずれかです。これはLispにやや似ていることに気付くかもしれません。その場合、言語名であるひどいしゃれに気づいたかもしれません。ピラミッドが完全に表示された後、パーサーは次のピラミッドに進みます。 これはcode-golfで、最短のコードが勝ちます! テストケース:これらは有効な出力だけではなく、有効な出力の例です。 [["+", ["9123", "3"]], "3"] ^ ^ / \ /3\ / \ --- / + \ ^-------^ /9\ /3\ …

17
入力されたASCII文字をマップする
他の課題、Reverse ASCII文字マップを必ず確認してください! ASCII文字セット(情報交換用のアメリカ標準コード)は、最も広く使用されている文字エンコード標準です。ASCIIコードは、コンピューター、通信機器、およびその他のデバイスのテキストを表します。 チャレンジ あなたの課題は、ユーザーが入力したASCII文字セットのマッピングを印刷することです。GIF: ユーザーがすべてのASCII文字を入力すると、出力は次のようになります。 マッピング 各文字には、16x6論理グリッド上の割り当てられた位置があり、左上の位置のスペース文字で始まり、その下に数字0が表示されるように折り返します。 印刷可能なASCII入力を受信したら、現在画面に表示されている文字を削除せずに、割り当てられた画面の場所にそのASCII文字を印刷します。 ルール プログラムは、印刷可能なASCII文字をマッピングするだけで0x20、0x7E。 すべての印刷可能なASCII文字が入力されるまで、プログラムを終了して文字を画面にマップし続けることはできません。ここから、プログラムを終了するか、Neverlandで実行できます。 プログラムは、スプレッドシート、テーブル、コンソールウィンドウ、グラフィカルウィンドウなど、好きな方法で文字をマッピングできます。 マッピングの表示方法に関係なく、リアルタイムで(ユーザー入力を受け取ったらすぐに)更新する必要があります。 プログラムが静かに入力を読み取らない場合は、カーソルを邪魔にならないようにしなければならないので、テキストはマップの邪魔になりません。 助けて 以下は、GIFの生成に使用した擬似コードアルゴリズムです。 loop forever c = input y_coord = c / 16 x_coord = c - y * 16 if c is printable print c at (x_coord * 2 + 1, y_coord + 1) end …

6
ターザンのオリンピックつるスイングル​​ーチンを記録する
オリンピックのツルを振る人は、標準の木でルーチンを実行します。特に、標準ツリーにnは、0アップスルーのn-1頂点aと、各非ゼロ頂点をそのn % a下の頂点にリンクするエッジがあります。したがって、たとえば、標準ツリー5は次のようになります。 3 | 2 4 \ / 1 | 0 5を3で割ったときの剰余は2であるため、5を2で割ったときまたは4で割ったときの剰余は1であり、5を1で割ったときの剰余は0です。 今年、ターザンは頂点から始まり、頂点へn - 1とスイングし、頂点へn - 2と続きn - 3、最終的に頂点に降りるまで、新しいルーチンで金を守ります0。 ルーチンのスコアは、各スイング(降車を含む)のスコアの合計であり、スイングのスコアは、ツリー内の開始点と終了点の間の距離です。したがって、標準ツリー5のターザンのルーチンのスコアは6です。 から4までのスイングが33点(ダウン、アップ、アップ)を獲得し、 から3にスイングして21ポイント(ダウン)を獲得し、 から2までのスイングが11ポイント(ダウン)を獲得し、 から降車し1て01ポイント(下)を獲得します。 正の整数nを指定すると、標準ツリー上のターザンのルーチンのスコアを計算するプログラムまたは関数を記述しnます。サンプルの入力と出力: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 -> 18 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

12
パスカルの三つ編みを生成
これはパスカルの三つ編みです。 1 4 15 56 209 780 2911 10864 40545 151316 564719 1 3 11 41 153 571 2131 7953 29681 110771 413403 1542841 1 4 15 56 209 780 2911 10864 40545 151316 564719 完全に作り上げました。ブレイズ・パスカルは、私が知る限り編組を持っていませんでした。もしそうなら、おそらく数字ではなく髪でできていたでしょう。 次のように定義されます。 最初の列1の中央にはシングルがあります。 2番目の列には1、上部と下部にあります。 次に、中央に数字を置くか、上下に数字のコピーを2つ置くかを交互に選択します。 数字が上または下にある場合、2つの隣接する数字の合計になります(例:)56 = 15 + 41。頭を少し傾けると、Pascalの三角形のステップのようになります。 数値が中央にある場合、3つの隣接する数値すべての合計になります(例:)41 = 15 + 11 …

13
ビットウィービングの視覚化
難解なプログラミング言語の悪には、「織り」と呼ばれるバイト値に対する興味深い操作があります。基本的には、バイトの8ビットの順列です(パターンが対称であるため、どちらの端からカウントを開始してもかまいません)。 ビット0はビット2に移動します ビット1はビット0に移動します ビット2はビット4に移動します ビット3はビット1に移動します ビット4はビット6に移動します ビット5はビット3に移動します ビット6はビット7に移動します ビット7はビット5に移動します 便宜上、置換のその他の2つの表現を示します。サイクルとして: (02467531) そして、マッピングのペアのリストとして: [[0,2], [1,0], [2,4], [3,1], [4,6], [5,3], [6,7], [7,5]] あなたの仕事は、ボックス描画文字を使用して、この順列を視覚化することで─、│、┌、┐、└、┘、┼(Unicodeコードポイント:U + 2500、U + 2502、U + 250C、U + 2510、U + 2514、U + 2518、U + 253C)。この視覚化は、次の制約を満たす必要があります。 最初と最後の行は正確に次のとおりです。 0 1 2 3 4 5 6 7 それらの間で、ボックス描画文字に合うように、それぞれ最大15文字の行を使用できます(少なくとも4行必要です)。行は、最初の行の1つの数字の下で垂直に始まり、最後の行の対応する数字の上で垂直に終わる必要があります。8本の線を接続する必要があります。また、クロスするのはビアのみです┼(これは常にクロスであり、2本のラインが接触することはありません)。ラインの正確なパスはあなた次第です(そして、特にゴルフに適したレイアウトを見つけることがこの課題の中心です)。有効な出力は次のとおりです。 0 1 2 3 4 …

30
砂時計を描く
プログラミング101のタスクに触発されたのは、もう1つの課題です。 入力: 正の整数n >= 3。(奇妙でなければならない) 出力: nアスタリスクの行。最初の行にはnアスタリスクがあり、すべての新しい行には前の行よりも2つ少ないアスタリスクがあります。アスタリスクを1つ押すまで。そこから、nアスタリスクに戻るまで、すべての新しい行には前の行よりも2つのアスタリスクが付いています。スペースまたはスペースのようなものを使用して、実際に砂時計のように見えるようにアスタリスクを揃える必要があります。 一般的なルール: 末尾の改行は許可されますが、使用する必要はありません。 インデントは必須です。 これはコードゴルフなので、バイト単位の最短回答が勝ちです。 このコースはC ++で教えられているので、C ++で解決策を見たいと思っています。 テストケース(n = 5): ***** *** * *** *****

5
ASCIIアートを斜体にする
ASCIIアート画像の入力が与えられた場合、ASCIIアートを斜体で出力します。 ASCIIアートを斜体にするには: 最後の行の前にゼロスペース、最後から2番目の行の前に1スペース、最後から3番目の行の前に2スペースを挿入します。 作成された可能性のある余分な先行空白を削除します。つまり、各行のn前に少なくともスペースがある場合は、各行nの先頭からスペースを削除します。 すべて置き換え\秒で|、すべて|との/、およびすべて/のと_。既存_のものを同じにしてください。 入力には、文字\|/_とスペースのみが含まれることが保証されています。 たとえば、入力 /\/\/\ /\/\/\ /\/\/\ /\/\/\ /\ /\ /\ /\ /\ /\ /\/\/\ /\/\/\ /\ /\ /\/\ /\ /\ /\ /\ /\ /\ /\ /\/\/\ /\/\/\ 出力する必要があります _|_|_| _|_|_| _|_|_| _|_|_| _| _| _| _| _| _| _|_|_| _|_|_| _| _| _|_| _| _| _| …

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