精华内容
下载资源
问答
  • 高精度加法

    2020-09-21 21:16:02
    C++ 高精度加法 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述  高精度加法 输入格式 两行,表示两个非负整数a、b。 输出格式 一行表示a+b的值。 样例输入 112233445566778899 998877665544332211 样例...

    C++ 高精度加法

    资源限制
    时间限制:1.0s 内存限制:256.0MB

    问题描述
      高精度加法

    输入格式

    两行,表示两个非负整数a、b。
    

    输出格式

    一行表示a+b的值。
    

    样例输入

    112233445566778899
    998877665544332211
    

    样例输出

    1111111111111111110
    

    代码如下

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    
    string str1,str2;
    
    int main(){
    	cin>>str1>>str2;
    	
    	int l1=str1.length();
    	int l2=str2.length();
    	
    	int a[1002]={0};
    	int b[1002]={0};
    	int c[2000]={0};
    	
    	for(int i=0;i<l1;i++) a[i]=str1[l1-i-1]-'0';
    	for(int i=0;i<l2;i++) b[i]=str2[l2-i-1]-'0';
    	
    	int l=max(l1,l2);
    	
    	for(int i=0;i<l;i++) c[i]=a[i]+b[i];
    	
    	for(int i=0;i<l;i++){
    		if(i!=l-1){
    			c[i+1]=c[i+1]+c[i]/10;
    			c[i]=c[i]%10;
    		}
    		else{
    			if(c[i]>9){
    				c[i+1]=c[i+1]+c[i]/10;
    				c[i]=c[i]%10;
    				l++;
    			}
    		}
    	}
    	
    	for(int i=0;i<l;i++) cout<<c[l-i-1];
    	
    	return 0;
    } 
    

    原题链接:https://www.luogu.com.cn/problem/P1601

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,414
精华内容 1,365
关键字:

高精度加法