栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1472 Instant Complexity

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1472 Instant Complexity

#include<iostream>using namespace std;int StrTonum(char* s){int digit=0;for(int i=0;s[i];i++)digit=digit*10+(s[i]-'0');return digit;}bool solve(int* exp){char s[30];cin>>s;if(s[0]=='E')    //ENDreturn false;else if(s[0]=='B')  //BEGINwhile(solve(exp));   //若因为OP返回,则继续;若因为END返回,则结束else if(s[0]=='O')  //0P{cin>>s;exp[0]+=StrTonum(s);return solve(exp);}else     //LOOP{int TempExp[11]={0};  //临时exp[]cin>>s;while(solve(TempExp));if(s[0]=='n')   //LOOP n{for(int i=10;i>0;i--)TempExp[i]=TempExp[i-1];  //表达式乘以n,则所有项的次数+1TempExp[0]=0;}else  //LOOP Num{int x=StrTonum(s);for(int i=0;i<11;i++)TempExp[i]*=x; //表达式乘以const,则所有项的系数*const}for(int i=0;i<11;i++)exp[i]+=TempExp[i];}return true;}int main(void){int test;cin>>test;for(int t=1;t<=test;t++){char s[6];int exp[11]={0};  //指数为i的项,其系数为exp[i]solve(exp);cout<<"Program #"<<t<<endl;cout<<"Runtime = ";bool flag=false;bool before=false;  //标记输出当前项之前,是否输出过前面的项for(int i=10;i>=0;i--)if(exp[i])   //当系数不为0时,才输出该项{flag=true;if(before){cout<<'+';before=false;}if(!i)  //当指数为0时,直接输出系数{cout<<exp[i];before=false;}else{bool sign=false;  //标记系数是否为1if(i && exp[i]!=1){sign=true;cout<<exp[i];before=true;}if(i)  //当指数不为0时{if(sign)cout<<'*';cout<<'n';if(i!=1)cout<<'^'<<i;before=true;}}}if(!flag)cout<<0<<endl<<endl;elsecout<<endl<<endl;}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号