首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

wikioi 3116 高精度习题之加法

2013-10-01 
wikioi 3116 高精度练习之加法题目描述 Description给出两个正整数A和B,计算AB的。保证A和B的位数不超过500

wikioi 3116 高精度练习之加法

题目描述 Description

给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。

输入描述 Input Description

读入两个用空格隔开的正整数

输出描述 Output Description

输出A+B的值

样例输入 Sample Input

3 12

样例输出 Sample Output

15

数据范围及提示 Data Size & Hint

两个正整数的位数不超过500位

下面三种方法有细微的差别:

第一种方法:顺序读入字符串:

#include <iostream>#include <cstring>using namespace std;int main(){  char x[555],y[555];  int a[555]={0},b[555]={0},c[555]={0};  cin >> x >> y;  int len_x = strlen(x);  int len_y = strlen(y);  for(int k=0; k<len_x; k++)  {    a[k]=x[len_x-1-k]-'0';  }  for(int k=0; k<len_y; k++)  {    b[k]=y[len_y-1-k]-'0';  }  int len_max = len_x>len_y?len_x:len_y;    for(int i=0; i<len_max; i++)  {    c[i]=a[i]+b[i];  }  for(int i=0; i<len_max; i++)  {    if(c[i]>=10)    {      c[i+1]++;      c[i] -= 10;    }  }    if(c[len_max]==1) cout << 1;  for(int i=len_max-1; i>=0; i--) cout << c[i];  return 0;}


热点排行