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

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

20
優れたパスタイム
時々、私が本当に退屈しているとき、非負の整数の配列の合計を取るのが好きです。2のべき乗である長さの配列の合計のみを取ります。残念ながら、私はしばしば間違いを犯します。幸いなことに、私は自分の仕事を次のように追跡しながら追跡しています。 残りの番号が1つになるまで、隣接する番号のペアを追加します。例えば: 6 + 18 + 9 + 6 + 6 + 3 + 8 + 10 = 24 + 15 + 9 + 18 = 39 + 27 = 66 仕事は、私がどこかで間違いを犯したかどうかを判断することです。入力を関数に渡すか、標準入力から読み取ることができます。出力は印刷するか返すことができます。 入力:配列/リスト/など。非負の整数、および言語で必要な場合はその配列の長さも含まれます。その配列は、左から右、次に上から下に読み取られるすべての数字になります。例えば、上記の配列はなる: [[6, 18, 9, 6, 6, 3, 8, 10], [24, 15, 9, 18], [39, 27], [66]] または [6, …

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 …

16
一番高いのは誰ですか?
正確なサイズを共有する2人の子供を持たないN人の子供が、何らかの順序で並んでいます。それぞれは、身長をその隣人としか比較できません。先生が「あなたが一番背が高い場合は手を挙げてください」と叫ぶとき、彼らが隣人の両方より背が高い場合、彼らはそうします。1人だけが手を上げると、彼が勝ちます。2人以上が手を挙げた場合、それらはすべて列から削除され(残りの子の順序を保持します)、プロセスを繰り返します。 明確な整数の配列(厳密に正であると仮定できます)を受け取り、このゲームの勝者を出力するプログラムを作成します。これはコードゴルフなので、最短のコードが優先されます。 例(中間ステージを表示): 5 3 9 8 7→3 8 7→8 1 2 9 4→9 9 3 8 7 4 12 5→3 7 4 5 →3 4 →4 現在のリーダー: ゼリー:17バイト[by Dennis♦] MATL:20バイト[Luis Mendo作] APL:28バイト[voidhawk] k:40バイト[by Paul Kerrigan] Pythonの戦いも続いています。さらに多くのゴルフ言語が登場するのを待っています。 現在、Dennis♦の回答を受け入れました。新しい勝者がいる場合は、選択を更新します。

30
標準の数値を合計します
1行に1つの整数を持つストリーム/ファイルを考えます。例えば: 123 5 99 コードはこれらの数値の合計、つまりを出力する必要があり227ます。 入力形式は、1行に厳密に1つの整数です。たとえば、整数の配列として入力が1行にあると想定することはできません。 STDINからファイル名の形式で入力を取得するか、選択した名前のファイルを入力できます。あなたはどれを選ぶことができます。入力を取得する他の方法は許可されていません。 入力には少なくとも1つの整数が含まれます。すべての整数が非負であり、それらの合計が未満であると仮定できます。232

16
これは、バイトというチャレンジです
おかしな名前を考えるのをやめる必要がある あなたの仕事は、あなたの言語のバージョンの整数配列が昇順でソートされるスニペット(入出力が組み込まれたプログラム)、関数、または完全なプログラムをできるだけ多く作成することですが、各プログラムについてのみ許可されます以前のプログラムで使用されていなかったASCII(またはASCII以外として直接指定されている場合は言語のコードページ)の文字を使用します。 これは回答例です(改行で区切られた別々のプログラム): Derp ASdFGHJKLAAA qwEEERtyRty この(架空の言語)で、私の最初の答えはDerp、最大使用され、D、e、rとp。2番目のプログラムでは、これらのキャラクターを再び使用することはできませんが、好きなだけキャラクターを再利用できます。3番目のプログラムなども同様です。 各プログラムは整数の配列をとる必要があるため、次のようになります(有効な入出力スタイルについては、入出力の例を参照してください)。 [3 4 -2 5 7 196 -44 -2] また、配列内のアイテムを配列として昇順で出力する必要があります。 [-44 -2 -2 3 4 5 7 196] スコアは提出の合計額になります。同点の場合、最低バイト数(コード内の最小バイト数)が勝ちます! プログラムの規則: すべての提出は、1つの言語バージョンで正しく実行する必要があります(so Python 2 != Python 3)。 提出物は、スニペット、関数、または完全なプログラムです。あなたはそれらを混ぜて一致させることさえ許されています-しかし、あなたはどちらがどれであるかを述べ、そして作業中の提出物へのリンクを提供しなければなりません。 可能であれば、すべてのソリューションへのオンラインリンクを提供してください。 すべての送信は、入力として配列(または任意の文字で区切られた文字列)を受け取り、並べ替えられた配列を(言語の配列形式または-区切り文字列として出力する必要があり{any character}ます。 ASCII(または言語のコードページ)以外の文字は使用できません。 たとえば、これらは有効な入力/出力です。 [1 2 3 4] (Clojure style arrays) [1, 2, 3, 4] …

30
中央値を計算する
チャレンジ 空でない実数のリストが与えられたら、その中央値を計算します。 定義 中央値は次のように計算されます:最初にリストをソートし、 エントリの数が奇数の場合、中央値はソートされたリストの中央の値です。 それ以外の場合、中央値は、ソートされたリストの中心に最も近い2つの値の算術平均です。 例 [1,2,3,4,5,6,7,8,9] -> 5 [1,4,3,2] -> 2.5 [1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,-5,100000,1.3,1.4] -> 1.5 [1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,-5,100000,1.3,1.4] -> 1.5

7
3つのポリグロット、2つのピリオド2クイン、および1つのコードゴルフチャレンジ
言語Aで実行するとプログラムBが生成され、言語BでプログラムAを実行するとプログラムCが生成されるように、プログラムAを生成します。 プログラムB、言語Bで実行するとプログラムAが生成され、プログラムBを言語Aで実行するとプログラムCが生成されます。 プログラムCを言語Aまたは言語Bで実行すると、「間違った言語!」が出力されます。 Program | Language | Result --------|----------|---------- A | A | Program B B | B | Program A A | B | Program C B | A | Program C C | A | "Wrong language!" C | B | "Wrong language!" 答えは次のテンプレートを使用する必要があります。 言語A /言語B、{aバイト} + {bバイト} …

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 

30
本当ですか?ゼリーに聞いて!
バックグラウンド Octave(および、拡張によりMATL)の非常に便利な真偽/偽の行列の解釈に触発され、JellyはȦ(Octaveスタイルのすべて)アトムを取得しました。 Ȧ入力として配列を受け取り、配列が空ではなく、ツリー構造のどこにも数字0(整数、浮動小数点、または複素数)を含まない場合は1を返します。それ以外の場合は0を返します。 たとえば、配列[[]]は空ではなくゼロを含まないため真理ですが、[[0]]は最も内側のレベルに0を含むため偽です。 仕事 選択したプログラミング言語で、完全なプログラムまたは関数を作成します。これは、入力として空の、場合によってはギザギザの整数配列を取り、Ȧがそれぞれ1または0を返すかどうかを示す真実または偽の値を出力または返します。 あなたの提出物は、以下の規則に従わなければなりません。 真偽値と偽の値は、すべての入力で一貫している必要があります。つまり、Ȧが1を返すすべての配列は同じ真偽値にマップし、Ȧが0を返すすべての配列は同じ偽値にマップする必要があります。 完全なプログラムは入力として配列の文字列表現しか受け取れないため、これは許可されています。ただし、返されるreprまたは同様の言語のカノカル表現を使用する必要があります。 特に、配列の最初の要素の前にスペースがあるとは想定できません。 ご使用の言語がジャグ配列をネイティブに表現できない場合(のみ)、既存のプログラミング言語の標準的な構文を使用して、入力の文字列表現を使用できます。 言語にギザギザの配列(リストやタプルなど)を表す方法がいくつかある場合は、そのうちの1つをサポートするだけで済みます。 あなたの言語自体がこのチャレンジへの有効な提出物であるビルトインを持っている場合、あなたはあなたの答えでそれを使うことはできません。他のすべてのビルトインは許可されます。 配列操作と文字列操作の両方を使用して回答を投稿することをお勧めします。一方が他方よりも著しく短い場合でも。 すべての標準コードゴルフ規則が適用されます。 バイト単位の最短コードが勝つように! 真実のテストケース [1] [10] [[]] [[[[1]]]] [[], [1], [1, 2]] [[1], [1, [2]], [1, [2, [3]]]] [[8], [8, [9]], [8, [9, [10]]]] 偽のテストケース [] [0] [0, -1] [-1, 0] [[[[0]]]] [[0], [1, 2], [3, 4, …

2
Wireworldでデジタル時計を作成する
このGame of Lifeの質問に触発されました。 Wireworldは、「ワイヤー」を流れる「電子」をシミュレートします。「ワイヤー」の単純な配置は、一般的な論理ゲートの動作を生成します。 Wireworldセルラーオートマトンでデジタル時計を作成するように挑戦します。時計は通常の方法で00:00から23:59まで、またはAM / PMインジケーターで11:59までカウントアップしてからリセットする必要があります。 エントリは目に見えるように2つの部分に分割する必要があります。パートAには、すべての非表示ロジック、数字のインクリメントとループに関与するすべてのパーツが含まれている必要があります。パートBは、ディスプレイとそれを駆動するロジックになります。これらの2つの部分間の唯一の接続は、BCDの 4桁の時間を表す16本のワイヤである必要があります(AM / PMインジケータ用のオプションワイヤ1本と、信号が連続していない場合の信号クロックライン用のオプションワイヤ1本付き)。(編集:常にゼロのワイヤは省略可能) クロック動作のタイミングは一貫している必要があります。シミュレーションでは、状態間の1440の遷移ごとに同じ数のティックを使用する必要があります。16本のワイヤ上の電子は、パーツAから同時に放出され、並行してトリップを開始する必要があります。 これは、コードとゴルフのコンペティションです。スコアは、パーツAを囲む軸に沿った境界ボックスの領域です。 同様に、これがテキスト言語である場合、スコアは4つの4ビット出力を生成するクロック管理関数のサイズになります。この出力には、ループと4つのカウンターのロジックが含まれ、その出力をデコードおよび印刷する関数ではありません。 パートBは、好きなだけ大きくも小さくもできます。ワイヤーワールド回路からの出力を単純に「デバッグ」する簡単な方法はないため、提出物の出力がそれを実行している誰かに見えるようにするためにのみ必要です。オンラインで利用可能な複数のBCD-> 7セグメント回路があります。好きなものを自由に使用するか、クロック信号線が必要な場合は独自のものを作成し、AM / PMインジケーターを数字と同様のスケールで表示してください。 編集:パートBはオプションになりました。パートAからのBCD出力がある場合は、お気軽に送信してください。クロックが動作することを確認するのは面倒ですが、一時停止したシミュレーションではビットの列を問題なく読み取ることができます。

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 …

4
幸せなエンダー問題
ハッピーエンドの問題は、(実際の定理)の状態 一般的な位置にある平面内の5つのポイントのセットには、凸状の四角形の頂点を形成する4つのポイントのサブセットがあります。 この問題は、最初に問題に取り組んだ2人の数学者、エステルクラインとジョージセケレスが婚約し、その後結婚したときに、ポール・エルデスによってそのように命名されました。 明確化: ここでの一般的な位置とは、3つのポイントが同一線上にないことを意味します。 4つの頂点によって形成される四角形は、ポイントの順序に関係なく、常に交差していないと見なされます。例えば、4点所与[1 1]、[1 2]、[2 1]、[2 2]意図四辺形は、正方形ではなく、ボウタイです。 内角が180度を超えない場合、交差しない四角形は凸状になります。または同等に両方の対角線が四角形の内側にある場合。 チャレンジ 正の整数座標を持つ5つのポイントが与えられた場合、凸四辺形を形成するこれらのポイントのうち4つを出力します。 ルール 複数のソリューションがある場合(つまり、4ポイントのセットが複数ある場合)、それらの1つまたはすべてを一貫して出力することを選択できます。 入力形式と出力形式は通常どおり柔軟です(配列、リスト、リストのリスト、適切な区切り文字のある文字列など)。 コードゴルフ、最少バイトが勝ちます。 テストケース 入力: [6 8] [1 10] [6 6] [5 9] [8 10] 可能な出力は1つだけです。 [6 8] [1 10] [6 6] [5 9] 入力: [3 8] [7 5] [6 9] [7 8] [5 1] 5つの解決策があります。 …

20
図と地面
ソース:ウィキペディア この課題では、上記の画像の図と背景に似た2つのプログラムを作成し、一方が印刷さfigureれ、他方が印刷されるようにする必要がありgroundます。具体的には: 入力を受け取らず、文字列を出力するプログラムを作成しますfigure。プログラムで許可されている空白文字は、スペース(コードポイント0x20)と改行(キャリッジリターン、0x0D、改行、0x0A、または両方の組み合わせ)のみです。 改行を無視すると、スペース文字(コードポイント0x20)と非スペース文字の数は同じでなければなりません。たとえば、これは有効なプログラムです(仮想言語): ab c d e f 最初の行に末尾のスペースがあることに注意してください。 n番目の空白文字をn番目の非空白文字と交換する場合、プログラムはground代わりに印刷する必要があります。上記の例では、プログラムは次のようになります。 a b cde f 2行目と3行目に末尾のスペースがあることに注意してください。 図と地上の解法はどちらも、STDOUTに出力される同じ言語の完全なプログラムでなければなりません。どちらの場合でも、単一のオプションの末尾の改行を印刷できます。STDOUTが正しい限り、STDERRに何でも出力できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 ヘルパースクリプト このCJamスクリプトを使用して、フィギュアとグラウンドプログラムを変換できます。2つのうちの1つを入力フィールドに貼り付けて、プログラムを実行します。また、スペースと非スペースの数が一致しない場合も通知します。 リーダーボード コードスニペットを表示 function answersUrl(a){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"http://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101275,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=8478,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:350px;float:left}table …

9
不要な括弧を削除する
文字で構成された文字列が与えられます0123456789+*()。文字列は常に有効な数式であると想定できます。 あなたの仕事は、乗算が加算よりも優先されると仮定して、不要な括弧を削除することです。 構造的に必要でない場合にのみ、括弧を削除する必要があります。 乗算の優先度が高いため:3+(4*5)=>3+4*5 乗算または加算の結合性のため:3*(4*5)=>3*4*5 式の周りで冗長な場合:3*((4+5))=>3*(4+5) 括弧は、特定の数値のために簡略化できる場合は保持する必要があります。 1*(2+3) に単純化されるべきではない 1*2+3 0*(1+0) に単純化されるべきではない 0*1+0 例: (4*12)+11 ==> 4*12+11 (1+2)*3 ==> (1+2)*3 3*(4*5) ==> 3*4*5 ((((523)))) ==> 523 (1+1) ==> 1+1 1*(2*(3+4)*5)*6 ==> 1*2*(3+4)*5*6 1*(2+3) ==> 1*(2+3) 0*(1+0) ==> 0*(1+0) (((2+92+82)*46*70*(24*62)+(94+25))+6) ==> (2+92+82)*46*70*24*62+94+25+6

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