高精度进位制转换,Poj(1220)】的更多相关文章

转自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 <…
今天撸3708  一直奇怪的re 就先放下了,写这个题的过程中学习了一个高精度进制转换,用这个模板写了1220 记录一下: #include <iostream> #include <stdio.h> #include<string.h> #include<algorithm> #include<string> #include<ctype.h> using namespace std; #define MAXN 10000 ]; ]…
常规短除法原理 高精度进制转换是对于特别大的数字来说的,当数字特别大时,难以进行除法和取余的操作,此时通过字符串模拟的办法可以解决. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const int maxn = 2000 + 5; int niput[maxn];…
POJ1131   由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了.   8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以直接定位到小数点后一位,采用此方法进行计算. import java.util.*; import java.math.*; public class Main { public static void main(String []args) { Scanner cin = new Scanner(…
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…
题目大意 给定一个函数 找出满足条件   等于 k 的最小的x m,k,d已知 其中 m,k 很大需要使用高精度存储 思路: 对 函数f(m)进行化简 ,令t=ceil( log(d,m) ) 可以得到 f(m)=d ^ t * ( a [ m / (d^t) ] ) + d ^ (t-1) * ( b[ m/( d^(t-1) ) ] )......+b [m%d] : 我们一看,每一项都是 跟 d 的次方有关,所以考虑使用 d 进制进行计算 设     m=a1b1b2b3b4(d进制) 那…
http://poj.org/problem?id=3191 题意:将一个整型的十进制整数转化为-2进制整数. #include <stdio.h> #include <algorithm> #include <stdlib.h> #include <string.h> #define LL long long using namespace std; int main() { LL n,s[]; while(~scanf("%lld",…
/* 高精度进制转换 把oldBase 进制的数转化为newBase 进制的数输出. 调用方法,输入str, oldBase newBase. change(); solve(); output(); 也可以修改output(),使符合要求,或者存入另外一个字符数组,备用 */ #include<stdio.h> #include<string.h> #defien MAXSIZE char str[MAXSIZE];//输入字符串 int start[MAXSIZE],ans[M…
题目链接 题意 : 给你一个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…
题意为进制转换,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…