随笔分类 -  大整数(加减乘除法)

摘要:题目:http://acm.hrbeu.edu.cn/index.php?act=problem&id=1008&cid=25写的程序就那么的耗时吗?交上去都有5分钟了,还是在Waiting。费了好大劲调,也不知道对不对,留个纪念吧。说一下思路:1,把第n 封信放在一个信封里,比如说是第 k 个 一共有 n - 1种方法 2,放编号为 k 的信,有两种情况: (1)放在第 n 个信封里,那么,对剩余的 n - 2 个信,有 f (n - 2) 种方法。 (2)不放在第 n 个信封里,这时,对于除第 n 封信以外剩余的 n - 1封信有 f ( n - 1... 阅读全文
posted @ 2012-09-12 21:41 AC_Girl 阅读(256) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1001题目就是 大整数乘法的问题,只不过给的这个数是一个小数,但好在这是一个求幂的,即使有小数,只要把小数的位置标记一下,把原有的字符串转换为整数,等输出时在真确位置输出小数点即可本来想拿这道题目再练习一下乘法呢,真没想到自己这么的弱,不是忘了这就是忘了那,考虑的一点都不周全,脑子进水了View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 #define N 1000 阅读全文
posted @ 2012-03-21 19:58 AC_Girl 阅读(292) 评论(0) 推荐(0)
摘要:就是一个递推的题目,但是由于数据比较大,所以用到了大整数。递推方程F(n)=F(n-1)+2*F(n-2); 1 #include<cstdio> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 #define N 10000 6 int b[N],c[N],t[N]; 7 int re[260][N]; 8 struct node 9 {10 int len;11 int re[N];12 }a[260];13 void ca()14 {15 int i,j;16 a[0 阅读全文
posted @ 2012-03-05 19:55 AC_Girl 阅读(209) 评论(0) 推荐(0)
摘要:http://www.bianchengla.com/course/ds/practise/problem?id=1489 就是求一个大整数的阶乘 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 #define N 210 6 #define M 1000 7 char str[N][M]; 8 int a[M],b[30],c[4*M]; 9 void ca()10 {11 int i;12 int k;13 str[0][0]=& 阅读全文
posted @ 2012-01-05 16:27 AC_Girl 阅读(166) 评论(0) 推荐(0)
摘要:http://poj.grids.cn/practice/2736/ 很简单的一个大整数减法题,主要是想做大整数除法题目,看了网上的资料说是要用到大整数减法,所以就拿来练练手了 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 #define N 110 6 char str1[N],str2[N]; 7 int a[N],b[N],c[N]; 8 int main() 9 {10 int n,i,j;11 int len1,len2; 阅读全文
posted @ 2012-01-05 16:22 AC_Girl 阅读(294) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=292(水题)题目就是多个大数相加没什么可说的注意点还是那几个,发现大整数的题目多做几道,你就会知道都注意什么了。第一次做的时候什么都不知道考虑,贡献了好几次的WA 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 #define M 1000000 6 char str[M]; 7 int a[M],b[M]; 8 i 阅读全文
posted @ 2011-12-03 12:18 AC_Girl 阅读(242) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1205同样是大整数加法的练手题目。题目意思就是:二十进制的大数相加,注意进位,注意字母和数字间的转换和都是零时有输出就可以了 1 #include<string.h> 2 #include<iostream> 3 #include<stdio.h> 4 using namespace std; 5 #define N 110 6 char str[N],sbr[N],t[N]; 7 int a[N],b[N],c[N]; 8 int m 阅读全文
posted @ 2011-12-03 12:14 AC_Girl 阅读(187) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2001题目很罗嗦,猛一看还以为多麻烦呢,因为刚开始的时候题目提到要把所给的那些数都倒过来,但是好在后面又说了,把所给的数倒过来相加后再倒过来输出。这就好比是负负得正,所以这就是一道大整数的水题了。只要注意前导零的处理,和输入都是零时输出零就可以A掉了http://acm.hdu.edu.cn/showproblem.php?pid=2100 这是HDU 一道类似的题目 1 #include<stdio.h> 2 #include<string.h> 阅读全文
posted @ 2011-12-03 12:03 AC_Girl 阅读(222) 评论(0) 推荐(0)