洛谷P2084 进制转化

题目如下:

 思路:

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
*/
无聊就学习 反正没事干
原文地址:https://www.cnblogs.com/miao-xixixi/p/12758754.html