隨筆 - 67  文章 - 79  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          給a、b、c、d添加+,-,*,/得到期望的value,結果是逆波蘭式
          value: a: b: c: d:
          代碼

          <html>
            
          <head>
              
          <title></title>
              
          <style></style>
            
          <script language="javascript">


            
          var want_value =0;

            
          var op = new Array
            ( 
             
          new Array('+',function (x,y){return x+y;}),
             
          new Array('-',function (x,y){return x-y;}),
             
          new Array('*',function (x,y){return x*y;}),
             
          new Array('/',function (x,y){ if (y==0){return "error";} else return x/y;})
            );
            
            
          var pro_num = function (i){
              
          return '('+i+')';
            }

            
          var get_remove_by_index = function (list,index){
                
          var r=[];
                
          for(var i=0;i<list.length;++i){
              
          if(i!=index)
              r.push(list[i]);
                }
                
          return r;
            }

            
          var con = function (list,v,rv){
                
              
          var length=list.length;
              
          if(length==0){
                
          if(rv-want_value ==0){
                  
          //console.log(v+'='+rv);
                  document.getElementById('result').value+=v+'='+rv+'\n';

                }
                
          return;
              }

              
          for(var i=0;i<length;++i){
                
          for(var j=0; j< op.length;++j){

                  
          var v1=pro_num(list[i])+v+op[j][0];
                 


                  
          var rv1=op[j][1](list[i],rv);
                 


                  
          if(rv1!='error') con(get_remove_by_index(list,i),v1,rv1);
                 

                }
              
              }
              
                
            }

            
          var con_real = function(a,b,c,d,v){
              
          var list=[a,b,c,d];

              want_value 
          =v;
              
          var length = list.length;
              
          if(length >1){
                
          for(var i=0;i<length;++i){
              con(get_remove_by_index(list,i),pro_num(list[i]),list[i]);
                }
              }
            }

            
          var on_button_click = function(){
                
          var a=parseFloat(document.getElementById('a').value);
                
          var b=parseFloat(document.getElementById('b').value);
                
          var c=parseFloat(document.getElementById('c').value);
                
          var d=parseFloat(document.getElementById('d').value);
                
          var v=parseFloat(document.getElementById('value').value);

                document.getElementById('result').value
          =""

                con_real(a,b,c,d,v);
            }
            
          </script>
            
          </head>
          <body>

          <form>
          <div>
          value:
          <input type="text" id="value" value="24"/>

          a:
          <input type="text" id="a"/>

          b:
          <input type="text" id="b"/>

          c:
          <input type="text" id="c"/>

          d:
          <input type="text" id="d"/>
          </div>

          <div>
          <input type="button" value="Cal" onClick="on_button_click()"/>
          </div>

          <textarea  style="width:100%;height:800px" id='result'></textarea>

          </form>

          </body>
          </html>

          posted on 2009-11-02 16:09 zarra 閱讀(174) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 洛浦县| 遵化市| 依兰县| 昌宁县| 云南省| 徐州市| 石首市| 阿图什市| 镇安县| 汝阳县| 南郑县| 佛教| 尉氏县| 龙山县| 综艺| 三河市| 临邑县| 金乡县| 澄江县| 盐池县| 天峻县| 香格里拉县| 平舆县| 中方县| 湖北省| 平江县| 丰县| 海原县| 乐昌市| 阳高县| 台山市| 海安县| 游戏| 赤壁市| 静宁县| 淮阳县| 建平县| 靖西县| 正宁县| 吕梁市| 章丘市|