栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1 进制转换

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1 进制转换

题目描述

某R大一的时候参加过计算机导论的考试,他对自己的进制转换掌握非常有信心,参加考试后拿到了100分。

就在刚才,Miku找他来解决很多进制问题,可过了一年后,现在的某R已经忘记了如何进行进制转换了。为了不让Miku失望,所以他请你来帮他完成将任意十进制数n,转换为t进制的问题。

输入格式

第一行:一个整数x,代表这一组测试的数据个数。

接下来x行:每一行包含两个整数n和t,代表将要进行转换的十进制数n和要转换成t进制。

(0<=n<=1000000000000000,0 输出格式

共有x行,n转换为t进制后的形态。

样例输入

5
10 2
10 10
35 11
184 16
72 36

样例输出

1010
10
32
B8
20

题目分析

十进制转换为其他进制,将输入数据不断除以进制数,直到商为0为止;可以将每步得到的余数放入一个数组中,将其逆向输出,得到转换后的数据。

注意:1.当余数大于9时,输出时要用字母表示。例如A表示10,Z表示35。

           2.放入余数的数组应当先初始化为一个不可能的数,例如转换为16进制时,应将数组初始化为16。

代码:
#include 
#define N 10000
using namespace std;
void trans(int x,int y)
{ int a[N],i;
  for(int k=0;k<10000;k++)
    a[k]=y;//初始化一个不可能的数,例如16进制初始化为16
  for(i=0;x!=0;i++)
  { a[i]=x%y;
    x/=y;
  }
  for(int j=i-1;j>=0;j--)
  if(a[j]!=y) {if(a[j]<=9) cout<>x;
  for(i=0;i>n[i]>>t[i];//输入数据
  for(i=0;i

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714906.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号