题目连接:1220 NUMBER BASE CONVERSION

题目大意:给出两个进制oldBase 和newBase, 以及以oldBase进制存在的数。要求将这个oldBase进制的数转换成newBase进制的数。

解题思路:短除法,只不过时直接利用了高精度的除法运算, 并且将以前默认的*10换成的*oldBase。

#include <stdio.h>
#include <string.h>
const int N = 1005;
int newBase, oldBase, n, cnt, num[N];
char str[N]; int getnum(char c) {
if (c >= '0' && c <= '9')
return c - '0';
else if (c >= 'A' && c <= 'Z')
return c - 'A' + 10;
else
return c - 'a' + 36;
} char getchar(int c) {
if (c >= 0 && c <= 9)
return '0' + c;
else if (c >= 10 && c < 36)
return 'A' + c - 10;
else
return 'a' + c - 36;
} void change() {
memset(num, 0, sizeof(num));
n = strlen(str);
for (int i = 0; i < n; i++)
num[i] = getnum(str[i]);
} void solve() {
int flag = 1;
memset(str, 0, sizeof(str));
cnt = 0; while (flag) {
int t = 0, k;
flag = 0;
for (int i = 0; i < n; i++) {
k = num[i] + t * oldBase;
num[i] = k / newBase;
if (num[i]) flag = 1;
t = k % newBase;
}
str[cnt++] = getchar(t);
}
} int main() {
int cas;
scanf("%d", &cas);
while (cas--) {
scanf("%d%d%s", &oldBase, &newBase, str); printf("%d %s\n", oldBase, str); change();
solve(); printf("%d ", newBase);
for (int i = cnt - 1; i >= 0; i--)
printf("%c", str[i]);
printf("\n");
if (cas) printf("\n");
}
return 0;
}

poj 1220 NUMBER BASE CONVERSION(短除法进制转换)的更多相关文章

  1. NUMBER BASE CONVERSION(进制转换)

    Description Write a program to convert numbers in one base to numbers in a second base. There are 62 ...

  2. poj 1220 NUMBER BASE CONVERSION

    NUMBER BASE CONVERSION Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5976   Accepted: ...

  3. POJ 1220 NUMBER BASE CONVERSION(较复杂的进制转换)

    题目链接 题意 : 给你一个a进制的数串s,让你转化成b进制的输出. A = 10, B = 11, ..., Z = 35, a = 36, b = 37, ..., z = 61,0到9还是原来的 ...

  4. (高精度运算4.7.26)POJ 1220 NUMBER BASE CONVERSION(高精度数的任意进制的转换——方法:ba1----->10进制----->ba2)

    package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class POJ_1220_ ...

  5. PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) (进制转换,回文数)

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  6. POJ 3191 The Moronic Cowmpouter(进制转换)

    题目链接 题意 : 将一个10进制整数转化为-2进制的数. 思路 :如果你将-2进制下的123转化为十进制是1*(-2)^2+2*(-2)^1+3*(-2)^0.所以十进制转化为-2进制就是一个逆过程 ...

  7. POJ 1220 大数字的进制转换,偷下懒,用java

    题意为进制转换,Java的大数类就像是作弊 import java.math.BigInteger; import java.util.Scanner; public class Main { pub ...

  8. POJ 2305:Basic remains 进制转换

    Basic remains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5221   Accepted: 2203 Des ...

  9. POJ 2635 The Embarrassed Cryptographer (千进制,素数筛,同余定理)

    The Embarrassed Cryptographer Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15767   A ...

随机推荐

  1. 社交舞 - 简介,释名,风格,舞步 - 金山词霸汉语 - HAPPY Life

    社交舞 - 简介,释名,风格,舞步 - 金山词霸汉语 - HAPPY Life 社交舞 编辑词条 创建词条 内容来源 社交舞(英语:ballroom dance),又称交谊舞或交际舞,是来源于西方的一 ...

  2. Netty源代码学习——ChannelPipeline模型分析

    參考Netty API io.netty.channel.ChannelPipeline A list of ChannelHandlers which handles or intercepts i ...

  3. Eclipse用法和技巧十七:覆盖父类方法

    在学校里面学习java,遇到访问权限修饰符一直停留在public是公有的,外面可以访问:protected是对子类可见的,外部不可以访问:private仅在本类中可见.工作之后,接触到了java代码多 ...

  4. fzu 2035 Axial symmetry(枚举+几何)

    题目链接:fzu 2035 Axial symmetry 题目大意:给出n个点,表示n边形的n个顶点,判断该n边形是否为轴对称图形.(给出点按照图形的顺时针或逆时针给出. 解题思路:将相邻两个点的中点 ...

  5. DEBUG模式下, 内存中的变量地址分析

    测试函数的模板实现 /// @file my_template.h /// @brief 测试数据类型用的模板实现 #ifndef MY_TEMPLATE_H_2016_0123_1226 #defi ...

  6. redhat6.3+oracle11GR2 单库 安装规划

    oracle11g单实例安装+redhat6.3   规划 一.查看环境 [root@JSCS78DB dev]# cat /etc/redhat-release Red Hat Enterprise ...

  7. phpcms 列表页中,如何调用其下的所有子栏目(或特定的子栏目)?

    {pc:get sql="select * from phpcms_category where catid in(你的子栏目ID)" return="data" ...

  8. Swift - 使用相机拍摄照片

    1,打开相机拍照 通过设置图片控制器UIImagePickerController的来源为UIImagePickerControllerSourceType.Camera,便可以打开相机 1 2 3 ...

  9. Android中View绘制优化之一---- 优化布局层次

    本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 前言,竟然是翻译,当然得弄的有板有眼. 照着大作家格式来咯 , - - . 译序 最近一直在做锁屏界面,之前也 ...

  10. Servlet过滤器——日志记录过滤器

    1.概述 在实际的项目开发过程中,经常需要在项目运行时,记录并在控制台中输出运行时的日志信息,便于查看项目的运行状况.本实例将介绍如何应用过滤器实现日志记录.运行本实例,将在控制台中输出项目运行时的日 ...