![]() |
#2
进击的种子2018-03-25 21:16
这是我编的:
大家可以忽略 或者在这上面完善一下哦 #include<cstdio> #include<iostream> #include<math.h> using namespace std; int main() { int k,n,l,x;//x用于存储n的实际的十进制和 int n1[100],a[100]; int j,i,s=0; cin>>k>>n>>l; if(n>=1000000||k>16||l>16){return 0;} int o=n; int oo=n; while(cin>>k>>n>>l) { while(n){n=n/10;s++;} while(o) { for(i=0;i<s;i++) { n1[i]=o%10; o=o/10; } } if(s==1) { x=oo*pow(k,1); } if(s==2) { x=n1[0]*pow(k,0)+n1[1]*pow(k,1); } if(s==3) { x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2); } if(s==4) { x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3); } if(s==5) { x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3)+n1[4]*pow(k,4); } if(s==6) { x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3)+n1[4]*pow(k,4)+n1[5]*pow(k,5); } int oooo=x; j=0; while(oooo) { a[j]=oooo%l; oooo/=l; j++; } for(oooo=j-1;oooo>=0;oooo--) if(a[oooo]>=10)cout<<char(a[oooo]+55); else cout<<a[oooo]; cout<<endl; } return 0; } |
题目描述
进制转换(二)
输入K进制的正整数N,请把N化为L进制后输出。(N<1000000;L,K<=16)
有多组数据。
输入格式:
K N L
输入
输出
样例输入
8 10 2
10 10 16
样例输出
1000
A
提示
我已经做了一段程序,不知道如何把十进制以上转成十进制。