大数处理的方法
来源:互联网 发布:手机怎么收藏淘宝店铺 编辑:程序博客网 时间:2024/06/05 03:33
关于使用数组来存大数的一些技巧。
下边以a的32次幂来举个栗子。
#include <bits/stdc++.h>using namespace std;int a[100000];int main(){ int t, n, i, j, k, cas = 1; scanf("%d", &t); while(t--) { scanf("%d", &n); memset(a, 0, sizeof(a)); int top = 0; a[top++] = 1; int x, y, c; for(i = 0; i < n; i++) // 32的多少次幂 { c = 0; //进位数 for(j = 0; j < top; j++) { x = a[j] * 32 + c; //计算当前位的乘积; y = x % 10000; //计算后的值通过取模10000得到; c = x / 10000;//得到进位数; a[j] = y; } if(c) { a[top++] = c; } } printf("Case #%d: ", cas++); for(k = top - 1; k >= 0; k--) { if(k != top - 1) printf("%04d", a[k]); //要进行补0, 比如10000 % 10000,你应该存进去的是0000, 而你存进去的只有0; else printf("%d", a[k]); } printf("\n"); } return 0;}
我这里用每个数组存的只有4位,其实你也可以存5位,存6位,只要把对应的10000改为100000,1000000即可,补零时改为%05d,%06d.
阅读全文
0 0
- 大数处理的方法
- JAVA中处理大数的方法
- HDOJ-1042 大数处理时的更优方法
- JAVA大数的处理
- ACM大数的处理
- JAVA的大数处理
- HDU2054(大数的处理)
- 大数的处理
- 大数的处理
- 大数阶乘的处理
- 大数的处理
- 对大数精度的处理(3)_大数乘大数
- 大数加法的处理技巧
- java之大数的处理
- 骄傲的代价(大数处理)
- ACM简单处理大数加法方法
- JAVA中处理大数方法汇总
- 大数处理----大数相加
- mbed操作系统
- Java泛型的应用
- 软考总结
- 立体匹配---Census Transform
- docker command
- 大数处理的方法
- 组队竞赛
- AutoITx3.DLL全部函数及说明 (自动化测试插件)
- Sudo权限管理
- JQuery页面跳转
- Android把svg图片转为jpg保存到相册图库
- 计蒜客 15503 百度的年会游戏 题解
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 《An Introduction to Ray Tracing》—— 3.3 Ray-Surface Intersections