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
来源
- 原创 上传者
思路 :模拟手算进制转换 如7化为2进制 是7除以2 余1 这里化为两步 7%2==1 再是7/=2
再倒着输出(在纸上算算就出来了)
#include<stdio.h> #include<string.h> int a[100]; int main() { int t; scanf("%d",&t); while(t--) { int n,k,i=0,j; memset(a,0,sizeof(a)); scanf("%d%d",&n,&k); while(n) { a[i++]=n%k; n/=k; } for(j=i-1;j>0;j--) printf("%d",a[j]); printf("%d\n",a[j]); } return 0; }
-
第一行输入一个数n,表示n(0<n<=100)组测试数据