大数加法
来源:互联网 发布:数据融合技术类型 编辑:程序博客网 时间:2024/06/06 05:48
对于位数超过long long型的大数数据计算,我们可以借助字符串来完成计。
例如,求n个大数的和。
定义需要用到的变量:char num[n][1001]; //n个字符串。
int a[n][1000]; //用来存放由字符串转换来的数据。
int cnt[n]; //用来存放计数a数组中的位数。
int sum[1001]; //用来存放结果。
对于数据的输入及转换代码:
int a[n][1000]={0},cnt[n]={0},sum[1001]={0}; for(int i=0;i<n;i++) { scanf("%s",num[i]); int len=strlen(num[i]); cnt[i]=0; for(int j=len-1;j>=0;j--) a[i][cnt[i]++]=num[i][j]-'0';//将最低位与最高位倒置,便于进位计算 }加法计算过程:
for(int i=0;i<n;i++) { for(int j=0;j<cnt[i];j++) { sum[j]+=a[i][j]; if(sum[j]>=10)//逢十进一 { sum[j]-=10; sum[j+1]++; } } }结果输出过程:
int k; for(k=1000;k>0;k--) { if(sum[k]) break; }//数的首位不为零,根据这个定理从后向前找大数的最高位 for(int j=k;j>=0;j--) printf("%d",sum[j]); printf("\n");
阅读全文
0 0
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 大数加法
- 使用Yii2 PHPExcle +ajax 导入Excle的demo
- 树莓派remot3.it外网访问最新--添加多个服务
- E:Could not get lock /var/lib/apt/lists/lock
- 操作系统及驱动、进程、服务等解析
- 对输入数据进行多个异常处理
- 大数加法
- 文章标题
- 2.vue2.0 jsonp封装
- 地图功能开发杂记
- composer安装指定版本的laravel
- Django-----数据库
- Python print函数用法,print 格式化输出
- virtualenv 创建虚拟环境报错ImportError: No module named 'pkg_resources'
- MessageFormat.format()用法