博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进制转换(m 进制 x 转换为 n 进制的数)
阅读量:3959 次
发布时间:2019-05-24

本文共 947 字,大约阅读时间需要 3 分钟。

摘要:以前写的进制转换一般不会考虑大数问题,举个例子就是如果16进制的FFFFFFFFF就是16^9是一个非常大的数,这个时候就需要用数组来存。

题目:

将M进制的数X转换为N进制的数输出。

输入

输入的第一行包括两个整数:M和N(2<=M,N<=36)。

下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。

输出

输出X的N进制表示的数。

样例输入

10 2

11

样例输出

1011

提示

注意输入时如有字母,则字母为大写,输出时如有字母,则字母为小写。

**解题思路:**这个题主要是模拟进制转换的过程写的,运行一遍代码就可以看懂。。

程序代码:

#include
#include
#include
char s1[1000],c[1000];int a[1000],b[1000];int main(){
int i,j,k,m,n,x,t,s,sum,v,w; scanf("%d%d",&m,&n); scanf("%s",s1); t=strlen(s1); //先转换为十进制 memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); k=1; for(i=0;i
='0'&&s1[i]<='9') a[0]=a[0]+s1[i]-'0'; else if(s1[i]>='A'&&s1[i]<='Z') a[0]=a[0]+s1[i]-'A'+10; v=0; for(j=0;j
=10) {
v=a[j]/10; a[j]=a[j]%10; } else v=0; } while(v) {
a[k++]=v%10; v=v/10; } } j=0; //把十进制的数顺序掉一下 for(i=k-1;i>=0;i--) b[j++]=a[i]; /* for(i=0;i
=0;i--) printf("%c",c[i]); printf("\n"); return 0;}

转载地址:http://lrxzi.baihongyu.com/

你可能感兴趣的文章
二叉树的最短根到叶路径中点的个数
查看>>
给定二叉树求最小深度
查看>>
平衡树
查看>>
栈的应用题(1)
查看>>
判断链表是否有环
查看>>
从有序链表中去掉重复的
查看>>
后台程序结果重定向到文件,结果看不到文件?缓冲区的问题
查看>>
[LeetCode]Reverse Integer
查看>>
DNS采用的传输层协议可能是TCP或UDP
查看>>
Python SocketAPI
查看>>
众包完成的 Nature 大作:世界上作者最多的文章
查看>>
常用URL标注数据集网络下载
查看>>
adaboostM2初探(记录一个例子)
查看>>
Python使用heapq实现小顶堆(TopK大)、大顶堆(BtmK小)
查看>>
用python的matplotlib包绘制热度图
查看>>
matplot pip安装
查看>>
序列S的所有可能情况
查看>>
在Linux上用pip安装scipy
查看>>
随机salt二次加密及hash加密漫谈
查看>>
linux 技巧:使用 screen 管理你的远程会话
查看>>