九度OJ 题目1118:数制转换
2015-09-05 15:53
204 查看
一.题目描述:
求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。
不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。
输入:
输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。
数据可能存在包含前导零的情况。
输出:
可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。
样例输入: 15 Aab3 7
样例输出: 210306
提示: 可以用字符串表示不同进制的整数。
二.题目分析
模拟长整数除法
三.代码
求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。
不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。
输入:
输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。
数据可能存在包含前导零的情况。
输出:
可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。
样例输入: 15 Aab3 7
样例输出: 210306
提示: 可以用字符串表示不同进制的整数。
二.题目分析
模拟长整数除法
三.代码
#include <stdio.h> #include <stdlib.h> int main() { int a,b,i,j,k,n,num[1000],to[9999],jie,chu; char str[1000]; int t; while(scanf("%d%s%d",&a,str,&b)!=EOF) { for(i=0;str[i];i++) { if('0'<=str[i]&&str[i]<='9') num[i]=str[i]-'0'; else if('A'<=str[i]&&str[i]<='Z') num[i]=str[i]-'A'+10; else num[i]=str[i]-'a'+10; } n=i;k=0; while(1) { i=0; while(num[i]==0&&i<n) //注意i<n条件一定不能忘记,错了好多回了... i++; if(i==n) break; jie=0; for(j=i;j<n;j++) { chu=jie*a+num[j]; num[j]=chu/b; jie=chu%b; } to[k++]=jie; } if(k==0) printf("0\n"); else { for(i=k-1;i>=0;i--) { //printf("to=%d\n",to[i]); if(to[i]>=10) printf("%c",to[i]-10+'A'); else printf("%c",to[i]+'0'); } printf("\n"); } } return 0; }
相关文章推荐
- Windows Azure Active Directory (4) China Azure AD Self Password Reset
- 【小技巧】更改终端的字体颜色和背景
- sharepoint 2016 学习系列篇(3)-如何部署sharepoint server 2016(2)-数据库服务器安装和部署
- Processing 教程(6) - 计时器、三角函数
- 云服务---IAAS,PAAS,SAAS
- Arduino 9g舵机操作
- 条款20:宁以 pass-by-reference to const 替换 pass by value
- poj 1759 Garland (二分搜索之其他)
- java 练习
- lucene
- Android viewpager 切换adapter内存溢出的问题
- 【NOIP2005】第三题·采药
- 2015 Google hosts 持续更新【更新于:2015-09-01】
- Nginx+PHP-FPM优化技巧总结
- Shell命令行操作
- n个骰子的点数
- TCP协议疑难杂症解析
- sharepoint 2016 学习系列篇(2)-如何部署sharepoint server 2016(1)-AD域服务器安装和部署
- 使用JDK自带jvisualvm监控tomcat
- Leetcode: H-Index