【水题】高精度加法
来源:互联网 发布:云计算峰会的会议定位 编辑:程序博客网 时间:2024/05/21 03:17
http://acm.hdu.edu.cn/showproblem.php?pid=1002
A + B Problem II
话不多说,就是很简单、很直接高精度加法。有多组用例。一般情况下都是反向字符串进行计算。
C语言实现
#include<stdio.h>#include<string.h>int T;char a[1005]={0},b[1005]={0},sum[1005]={0},tmp;int main(){ scanf("%d",&T); int kase=0; while ( T-- ){ scanf("%s%s",a,b); int i,j; printf("Case %d:\n",++kase); printf("%s + %s = ",a,b); for (i=0;i<1005;i++) sum[i]='0'; //清空sum为字符'0' //反向字符串 for(j=0;a[j]!='\0';j++); j--; for(i=0;i<j;i++,j--){ tmp=a[i];a[i]=a[j];a[j]=tmp; } for(j=0;b[j]!='\0';j++); j--; for(i=0;i<j;i++,j--){ tmp=b[i];b[i]=b[j];b[j]=tmp; } //模拟加法 for(i=0;a[i]!='\0'&&b[i]!='\0';i++){ sum[i]+=(a[i]+b[i]-48-48); if( sum[i]>'9' ){ //进位问题 sum[i]-=10; sum[i+1]+=1; } } if(a[i]=='\0') for(;b[i]!='\0';i++) sum[i]+=b[i]-48; else for(;a[i]!='\0';i++) sum[i]+=a[i]-48; for(;sum[i]!='0';i++); sum[i]='\0'; //补上最后结束符 for(j=0;sum[j]!='\0';j++);j--;//sum反串 for(i=0;i<j;i++,j--){ tmp=sum[i];sum[i]=sum[j];sum[j]=tmp; } printf("%s\n",sum); if(T) printf("\n"); memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(sum,0,sizeof(sum)); } return 0;}
C++实现
#include <cstdio>#include <cstring>#include <iostream>using namespace std;string add(string s1,string s2) { int len_a=s1.length(),len_b=s2.length(); if(len_a < len_b) { string temp = s1; s1 = s2; s2 = temp; } int i,j; for(i = len_a-1, j = len_b-1;i>=0;i--,j--) { s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0)); if(s1[i]-'0'>=10) { s1[i]='0'+(s1[i]-'0')%10; if(i) s1[i-1]++; else s1='1'+s1; } } return s1;}string A,B,C;int main(){ while(cin>> A>> B) { C=add(A,B); cout<< C<< endl; } return 0;}
0 0
- 【水题】高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度 加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 【西祠日志】【10】周二周二
- Eclipse:Error:could not find java SE Runtime Environment/Error: could not find java.dll
- 浅析HTTP协议
- linux常用命令----文本格式化输出
- No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instanc
- 【水题】高精度加法
- Hibernate 注解方式 save后获取不到对象id一种情况
- http(3)详解------Web的结构组件
- 关于在Java学习中遇到的浮躁
- android 中自定义广播的使用broardcast
- CSS总结(1)
- 解决Android中LayoutParam宽高的单位设置问题
- Android API Guides 阅读笔记(6)----Task and Back Stack
- VS2012启用SQLite的Data Provider