問題タブ [polish-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
560 参照

haskell - 連結 Haskell バリアントの作成: 適用と構成の優先順位

Haskell のように関数を適用するのではなく、関数名の連結は関数の合成と同じであるというのが本来の考え方である連結言語の基礎を学んでいます。

Joy、Forth、または Factor は後置、つまりスタック ベースを意味しますが、Om などの前置連結言語もいくつかあります。

Haskell バリアントは、合成の優先順位 (現在は 9) を関数適用の優先順位 (現在は 10) と交換する (または等しくする) だけで、理論的には連結言語になるのではないかと思います。

Haskell の値が引数のない関数にすぎない場合、関数の適用が関数の合成と異なるのはなぜですか?, 関数の適用は、引数のない関数で合成することと同じではありませんか?.

新しい合成演算子と適用演算子を異なる優先順位で定義し、括弧のない単純な連結が合成であると仮定することにより、連結構文を Haskell 構文に変換するインタープリターまたはプリコンパイラーを簡単な方法で作成することは可能でしょうか? これは単なる構文の問題だと思いますが、私は間違っていますか? Haskell で括弧や $ 演算子を使用しなければならない多くのケースを避けることができます。それとも、構文や優先順位だけでなく、もっと根本的な問題なのでしょうか?

ヒント: Haskell のすべての関数と演算子が接頭辞であると仮定すると、この演習では、中置記法とあらゆる種類の「構文糖衣」について忘れることができます。

0 投票する
1 に答える
296 参照

java - 逆ポーランド記法のコードレビュー

私は SPOJ でこの質問を解決しようとしています: http://www.spoj.com/problems/ONP/

上記の問題に対して、2 つのスタック ソリューションを実装しようとしました。私のシステムでは正常に動作しますが、次のコードを SPOJ エンジンに送信しようとするたびに「間違った回答」が返されます。

どこが間違っているのかわかりません。考えられるすべてのテストケースを試しました。

PS: この問題は、すべての入力が括弧で囲まれていることを前提としています。演算子の優先順位を解決するためのコードを含める必要はありません。

0 投票する
1 に答える
64 参照

python - 文字列が与えられた場合、ポーランド表記で最も長い WFF の 1 つの長さは?

Python で WFF 'N Proof ゲーム (著作権侵害を意図していない) の常に人気のある Count-A-WFF セクションのバージョンを作成しようとしています。うーん、あまり人気がない。

4文字の文字列の場合まで、必要に応じてすべてが稼働していると思います。

maximum_string ヘルパー関数は、任意の文字列 S が与えられた場合に、S の文字だけから作成できる最長の wff の長さを見つけることを目的としています。もちろん、現在 maximum_string ヘルパー関数で使用しているパターンを継続できます。長さ 13 まで。ただし、組み合わせ爆発は明らかです。したがって、最大文字列ヘルパー関数を終了するためのよりエレガントな方法はありますか?

0 投票する
4 に答える
878 参照

algorithm - 中置式を逆ポーランド記法に変換しながらメソッドの引数の数を数える方法

以下のような表現があります。MIN(MAX(AVG(AVG(4,2),2,3),SUM(1,2))) 分置場アルゴリズムを実装して、中置記号を逆ポーランド語表記に変換しました。関数 MAX 、 MIN 、および AVG を 2 つの引数で追加します。しかし、可変引数を実装したい場合、各関数が中置式にいくつの引数を持っているかを知る必要があるとします。誰かが私に教えてもらえますか?infixをrpnに変換する際の各関数の引数の?

0 投票する
2 に答える
715 参照

c++ - ポーランド式の計算

を計算する方法を説明するものを探していますPolish Expression。例:

私がこれを持っている場合((1+2)*4)+3、通常の方法では ですが1+2*4+3 = 15、このように書く必要があります: top の値12+4*3+stack取得してスタックに再度入れるには、私のコードを参照してください: https://ideone.com/0bdkkM

私はすでに1つの投稿を見ていますが、必要な操作を行う方法がわかりません: StackOverflow

0 投票する
1 に答える
1218 参照

c - リンクリストを使用したRPN計算機

コードに問題があります。1桁のintでのみ機能するようです。9 より大きい int に対して機能する関数を作成する方法がわかりません。また、文字列が空の場合にプログラムを終了する方法もわかりません。

これが私のコードです: