国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

后綴表達式

2022-08-27 21:47 作者:游俠翻滾  | 我要投稿

題目,模板出自于落谷:https://www.luogu.com.cn/problem/P1175

部分借鑒慕課網:http://www.imooc.com/article/68906/

介紹

數學表達式分為三種:前綴表達式、中綴表達式、后綴表達式。

前綴表達式的運算符在兩個運算數字(或表達式)前,中綴表達式的運算符在兩個運算數字(或表達式)之間。后綴表達式的運算符在兩個運算數字(或表達式)后。

舉個栗子:

四則運算: 8 - ( 3 + 2 * 6 ) / 5 + 2 ^ 2? ? ? ? ? ? ?【^的意思是次方】

前綴表達式:+ ^ 2 2 - / 5 + * 6 2 3 8(我們不講)

后綴表達式:8 3 2 6 * + 5 / - 2 2 ^ +

?四則運算變后綴表達式:

就以上面的四則運算為題目來看一下吧,

?? 8 - ( 3 + 2 * 6 ) / 5 + 2 ^ 2?

首先我們要知道運算符等級劃分,即:(選自于百度文庫:https://wenku.baidu.com/view/4d630cfc6c1aff00bed5b9f3f90f76c661374cc9.html)

運算等級

在此從大到小分別是(),^,* 和/,+和-

所以這個算是可以分解為3個大部分8,-(3+2*6)/5和+2^2

而后綴表達式就是吧運算法給拉到后面,順序就是運算等級劃分等級啦。

在這里

8變成8

-(3+2*6)/5變成-(3+26*)/5變成-(326*-)/5變成-(326*-)5/變成(326*-)5/-最后把小括號去掉就成了326*-5/-

+2^2變成+22^最后變成了22^+

我們最后把這3個式子合起來就成了8 3 2 6 * + 5 / - 2 2 ^ +

你學會了嗎?

現在我們來做一道題:

CSP-2019初賽

答案是選B。

在這里,我們括號里的加號給移到后面就變成了a * ( b c + ) * d ,接著把2個乘號移到各自的后面變成 a ( b c + ) * d * 【在這里括號里的我們把他看成了一個整體】,最后拆掉括號就得到了正確答案:a b c + * d *

后綴表達式的計算方法:

從左向右,每遇到一個運算符,就講前兩個數字進行該運算,再將運算結果放到該位置,重復以上過程即可完成計算。

比如剛才的后綴表達式:8 3 2 6 * + 5 / - 2 2 ^ +

第一步*運算:8 3 12 + 5 / - 2 2 ^ +

第二步+運算:8 15 5 / - 2 2 ^ +

第三步/運算:8 3 - 2 2 ^ +

第四步:5 2 2 ^ +

第五步:5 4 +

第六步:9

【在計算機中,我們通常這樣實現: 從左向右遍歷,遇到數就入棧,遇到運算符就從棧頂彈出兩個元素,將后彈出的與先彈出的進行運算(運算順序從左到右),再將運算結果入棧,直到棧中只有一個元素(或遍歷完整個后綴表達式)】(我們現在不深究)



后記:信息這東西得慢慢來不著急,總有一天能獲得成果的

后綴表達式的評論 (共 條)

分享到微博請遵守國家法律
昌图县| 玉环县| 合江县| 泸州市| 都昌县| 土默特左旗| 东阳市| 阿图什市| 临武县| 正阳县| 佳木斯市| 黄石市| 汉源县| 章丘市| 友谊县| 昭通市| 绥滨县| 塔城市| 美姑县| 台东县| 弥渡县| 汝南县| 芦溪县| 济阳县| 渑池县| 莱州市| 邵武市| 富锦市| 冕宁县| 莫力| 句容市| 灵丘县| 芒康县| 白玉县| 犍为县| SHOW| 汉中市| 清涧县| 余干县| 罗江县| 内乡县|