求表达式求值算法和以a为底n次幂(js版).docVIP

求表达式求值算法和以a为底n次幂(js版).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
// 求以a为底的n次幂 (非递归) function power1(a,n){ if(a=0||n=0){ console.log(it is wrong!); return; } var ret=1; while(n0){ ret*=(n1)?a:1; a*=a; n=1; } return ret; } // 求以a为底的n次幂 (递归) function power2(a,n) { // body... if(a=0){ console.log(it is wrong!); return; } if(n==0) return 1; else{ var ret=power2(a,Math.floor(n/2)); ret*=ret; return ret*((n1)?a:1); } } // 快速乘法 function qiuck_mul(a,b){ var ret=0; while(a){ ret+=a1?b:0; a=1; b=1; } return ret; } function mul(a,b){ return a*b; } // 表达式计算 function ExpressionCompute(str){ var addNum=function(strArr,num){ // 加入一个数处理乘(*)和除(/) if(strArr.length!=0){ var cur=0; var top=strArr.pop(); // 弹出一个符号 if(top==+||top==-){ // 遇到 + 或 - 符号,不处理 strArr.push(top); // 原压进去 } else{ // 遇到 * 或 / 符号 cur=parseFloat(strArr.pop()); // 弹出一个数字 num=(top==*)?(cur*num):(cur/num); //处理*和/符号 } } strArr.push(num); } var getNum=function(strArr){ // 处理加(+)和减(-)计算 var res=0; var add=true; while(strArr.length!=0){ var cur=strArr.shift(); if(cur==+){ add=true; } else if(cur==-){ add=false; } else{ // 数字 var num=parseFloat(cur); res+=add?num:(-num); // 处理加(+)减(-) } } return res; } var value=function(strArr,i){ var que=[]; // var pre=0; while(istrArr.lengthstrArr[i]!=)){ // 当没到结尾或者遇到右括号 if(strArr[i]=0strArr[i]=9||strArr[i]==.){ // 遇到数字(带小数) pre+=strArr[i++]; } else if(strArr[i]!=(){ // 遇到符号(+ - * /) addNum(que,parseFloat(pre)); que.push(strArr[

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档