आपको पात्रों के साथ एक तार दिया गया है 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
1*(2*(3+4)*5)*6
एक दिलचस्प टेस्टकेस होना चाहिए (जो मेरा समाधान वर्तमान में विफल रहता है)।
(2+2)*1