POJ NOI0113-01 数制转换(Bailian2710)
来源:互联网 发布:软件项目管理目标 编辑:程序博客网 时间:2024/06/01 08:10
问题链接:POJ NOI0113-01 数制转换。
原题出处:Bailian2710 数制转换。
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
求任意两个不同进制非负整数的转换(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
- 来源
- 2005~2006医学部计算概论期末考试
问题分析
这是一个进制转换的问题。
据说阿拉伯数字是印度人发明的。今天,采用阿拉伯数字的记数法被人们普遍采用。而且人们使用的是10进制。
然而,与计算机有关的常用的进制有10进制、8进制和16进制。
程序说明
程序中,函数convert()用于将数s从a进制转换为b进制。
AC的C++语言程序:
#include <iostream>#include <string>#include <ctype.h>using namespace std;string convert(int a, string& s, int b){ long val, dcount, digit; char result[72], c; string ans; val = 0; for(int i=0; i<(int)s.size(); i++) { if(isdigit(s[i])) val = val * a + s[i] - '0'; else val = val * a + toupper(s[i]) - 'A' + 10; } dcount = 0; while(val) { digit = val % b; val /= b; result[dcount++] = ((digit >= 10) ? 'A' - 10 : '0') + digit; } if(dcount == 0) { result[dcount++] = '0'; result[dcount] = '\0'; } else result[dcount] = '\0'; // reverse for(int i=0, j=dcount-1; i<j; i++, j--) { c = result[i]; result[i] = result[j]; result[j] = c; } ans = result; return ans;}int main(){ int a, b; string s; cin >> a >> s >> b; cout << convert(a, s, b) << endl; return 0;}
0 0
- POJ NOI0113-01 数制转换(Bailian2710)
- poj 2710:数制转换
- POJ NOI0113-03 八进制小数(Bailian2765)
- POJ NOI0113-04 垂直直方图(Bailian2800)
- 01:数制转换
- 数制转换(栈)
- POJ NOI0113-02 不吉利日期(Bailian2723)
- POJ NOI0113-05 素数回文数的个数(Bailian2928)
- Bailian2735 八进制到十进制【入门】(POJ NOI0113-46)
- Bailian2764 数根【数论】(POJ NOI0113-50)
- Bailian3177 判决素数个数【入门】(POJ NOI0113-10)
- Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)
- 数制转换(c语言)
- 数制转换系列(一)
- 数制转换(C语言版)
- 数制转换
- 数制转换
- 数制转换
- (转载)如何快速转载CSDN中的博客
- 批量提取IE缓冲美术资源
- systemd学习小结
- 2017-4-8蓝桥杯总结(1) 结果填空部分
- spring AOP切面,注解实现,获取参数
- POJ NOI0113-01 数制转换(Bailian2710)
- SVN在Android studio中的使用
- Retrofit2+Rxjava2之优雅的封装
- POJ NOI0113-02 不吉利日期(Bailian2723)
- Android SQLite (一) 数据库简介
- Android SQLite (二) 基本用法
- Android SQLite (三 ) 全面详解(一)
- Android SQLite (四 ) 全面详解(二)
- CentOS7安装ifconfig