ural 1108
2013-07-31 12:17
393 查看
大数乘法 不会java 比赛的时候各种细节RE WA ........
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int un[] = {0,0,0,0,0,1,3,6,13,26,52,104,208,416,833,1667,3335,6700}; int a[10010],b[10010],c[10010],ca; void cc() { int w = 0; memset(c, 0, sizeof(c)); for(int i = 0; i <= un[ca]; i++) { for(int j = 0; j <= un[ca]; j++) { c[i+j] += a[i]*b[j]; if(c[i+j] > 9999) { w = c[i+j]/10000; c[i+j+1] += w; c[i+j] %= 10000; } } } w = 0; for(int i = 0; i <= un[ca]; i++) { c[i] += w; w = c[i]/10000; c[i] %= 10000; } memcpy(a, c, sizeof(c)); c[0] += 1; memcpy(b, c, sizeof(c)); } int main() { int n; scanf("%d",&n); memset(a, 0, sizeof(a)); memset(b, 0, sizeof(b)); a[0] = 1; b[0] = 2; ca = 0; for(int i = 0; i < n; i++) { int j; for(j = un[ca]; j >= 0; j--) { if(b[j]) break; } //printf("%d\n",j); printf("%d",b[j--]); for(; j >= 0; j--) { printf("%.4d",b[j]); } putchar('\n'); if(i == n-1) break; cc(); ca++; } return 0; }
相关文章推荐
- URAL - 1108 Heritage(大数)
- URAL 1108 简单的树形dp背包问题
- ural 1108
- ural 1108 Binary Apple Tree
- Palindrome URAL - 1297
- 【一般图最大匹配】URAL - 1099 Work Scheduling
- G - Mnemonics and Palindromes 3 URAL - 1737(回文)
- (洛谷 1108)低价购买
- 堆栈 九度1108 1101
- bzoj 1108: [POI2007]天然气管道Gaz
- 【DP && 矩阵快速幂 && 快速乘】URAL - 1013 K-based Numbers. Version 3
- URAL - 1423
- zju 1108
- ural 1156
- http://acm.hdu.edu.cn/showproblem.php?pid=1108 java BIgInteger gcd
- Ural 1017
- ural 1014 Product of Digits
- ural 1038 Spell Checker
- zoj 1108 LIS变形...睡前一水
- ural 1008. Image Encoding