题目如下:
思路:
1.需要考虑 这种情况 2 1000 开始思路是输出1*2^4+
结果不管我怎么修改代码都无法通过
2.后来我的思路是输出 +1*2^2
然后就可以通过啦 需要注意因果关系 不然 这个 2 100
数据通过不了
代码如下:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int main(){ int m; cin>>m; string n; cin>>n; int j=0,i; for( i=n.size()-1;i>=0;i--){ if(n[j]=='0'){ j++; continue; } else if(j==0&&n[j]!='0') { cout<<""<<n[j]<<"*"<<m<<"^"<<i; j++; } else if(n[j]!='0'&&j!=0){ cout<<"+"<<n[j]<<"*"<<m<<"^"<<i; j++; } } return 0; } /* 2 100 */