poj 1220(短除法)】的更多相关文章

题目链接 题意 : 给你一个a进制的数串s,让你转化成b进制的输出. A = 10, B = 11, ..., Z = 35, a = 36, b = 37, ..., z = 61,0到9还是原来的含义. 思路 : 这个题因为牵扯了英文字母所以比较复杂一点,先将所有出现的英文字母转化成他们所代表的数,然后进行进制转换. //POJ 1220 #include <stdio.h> #include <string.h> #include <iostream> #incl…
http://poj.org/problem?id=1220 题意:进制转换,把a进制转换为b进制. 如果数据不大的话,那么这个题还是很简单的,但这个题就是数据范围太大,所以这里可以采用短除法来做. 关于短除法,就是把每一位(这里指的每一位是指个位十位之类的)除以要转换的进制的余数在乘以当前进制的值加到下一位去,当前位的值就为商,然后这样一直进行到最后一位(也就是个位)个位在对所须转换的进制在取模,那么这个模就是转换后的结果.多次重复,直到最后一位为0,从后往前看就是答案. 举个例子:50,要从…
题目连接:1220 NUMBER BASE CONVERSION 题目大意:给出两个进制oldBase 和newBase, 以及以oldBase进制存在的数.要求将这个oldBase进制的数转换成newBase进制的数. 解题思路:短除法,只不过时直接利用了高精度的除法运算, 并且将以前默认的*10换成的*oldBase. #include <stdio.h> #include <string.h> const int N = 1005; int newBase, oldBase,…
题目链接:http://poj.org/problem?id=1200 这个题,我真是无限MLE,RE,WA,太伤心了,还是写一下吧.题意很简单(英语很好读),最后看了一下金海峰的思路.果然,应该是我的这个hash表有点问题,最好是用正确的算法吧,不乱创造了.karp-rabin把字符串转化成数字的算法,一个字符串有n种字符构成,把每种字符对应为0-n-1中的一个数字,把字母换成对应的数字之后,对于固定长度的串,每个串都与一个唯一的n进制数对应.这样就可以hash了. #include <ios…
n进制转m进制,虽然知道短除法但是还是不太理解,看了代码理解一些了: 记住这个就好了: for(int k=0;l; ){ for(int i=l ; i>=1 ; i--){ num[i - 1] += num[i] % m * n; num [i] / =m; } num1[k++]=num[0] % m; num[0] /= m; while( l > 0&& num[ l - 1]==0) l--; } AC代码如下: #include<cstdio> #i…
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class POJ_1220_1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int t = scanner.nextInt(); while(t > 0){ BigInteger ba1 = scann…
NUMBER BASE CONVERSION Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5976   Accepted: 2738 Description Write a program to convert numbers in one base to numbers in a second base. There are 62 different digits: { 0-9,A-Z,a-z } HINT: If…
转自ACdream. #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXSIZE 60000 char in[MAXSIZE]; int oldbase,newbase; int a[MAXSIZE],b[MAXSIZE],r[MAXSIZE]; int getNum(char c) { '; ; ; } char getChar(int i) { && i <…
题意为进制转换,Java的大数类就像是作弊 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); while(n!=0){ int a=in.nextInt(); int b=in.nextInt(); St…
POJ - 1220 进制转换 import java.io.*; import java.util.*; import java.math.*; public class Main { public static int GetNum(char c) { if (Character.isDigit(c))return c-'0'; if (Character.isUpperCase(c))return c-'A'+10; if (Character.isLowerCase(c))return…