大数加法

来源:互联网 发布:淘宝运营绩效考核方案 编辑:程序博客网 时间:2024/06/12 18:38

1023: 算法提高 大数加法

时间限制: 1 Sec  内存限制: 256 MB
提交: 5  解决: 2
[提交][状态][讨论版]

题目描述

输入两个正整数a,b,输出a+b的值。

输入

两行,第一行a,第二行b。a和b的长度均小于1000位。

输出

一行,a+b的值。

样例输入

4
2

样例输出

6

提示

来源

不含0+ 0=0的情况,不需要另外考虑

[提交][状态]
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;void Add(char s1[],char s2[])//大数加法{int num1[1005]={0},num2[1005]={0},sum[1008]={0};//三个数组注意要初始化为0 int i,j=0,k=0,len1,len2;len1=strlen(s1);len2=strlen(s2);for(i=len1-1;i>=0;i--)   num1[j++]=s1[i]-'0';for(i=len2-1;i>=0;i--)   num2[k++]=s2[i]-'0';  // cout<<1<<endl;for(i=0;i<=1005;i++){   sum[i]=num1[i]+num2[i]+sum[i];   if(sum[i]>=10)   {   sum[i+1]++;   sum[i]=sum[i]%10;   }  // cout<<sum[i];}for(i=1004;;i--){if(sum[i]!=0){k=i;break;}}for(i=k;i>=0;i--)     cout<<sum[i];cout<<endl; }  int main() { char a[1005],b[1005]; scanf("%s %s",a,b); Add(a,b); return 0; } 

0 0
原创粉丝点击