K进制
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
很简单,将任意十进制转换为K(1<k<10)进制.
-
输入
-
第一行输入一个数n,表示n(0<n<=100)组测试数据
接下来的n行每一行输入一个数m(0<m<=100000000)和k表示将m转化为相应的进制表示
输出
- 输出转化完成后的数 样例输入
-
2 9 7 13 3
样例输出
-
12 111
本道题的解法可以用于将10进制转化为2进制、8进制、16进制等、、、、、
代码如下:
#include <iostream>
02.
#include <stack>
03.
using
namespace
std;
04.
int
main()
05.
{
06.
int
n,k,t;
07.
long
m;
08.
cin>>n; //n组测试数据
09.
while
(n--)
10.
{
11.
stack<
int
> s;
12.
cin>>m>>k;
13.
while
(m)
14.
{
15.
t=m%k;
16.
s.push(t); //将值压入栈中
17.
m=m/k;
18.
}
19.
while
(!s.empty()) //判断栈内是否为空
20.
{
21.
cout<<s.top(); //输出栈顶元素
22.
s.pop(); //栈顶元素出栈
23.
}
24.
cout<<endl;
25.
}
26.
return
0;
27.
}
-
第一行输入一个数n,表示n(0<n<=100)组测试数据