高精度减法神童

Posted scott527407973

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高精度减法神童相关的知识,希望对你有一定的参考价值。

问题 D: 【高精度】减法神童

时间限制: 1 Sec  内存限制: 64 MB
提交: 7  解决: 5
[提交] [状态] [讨论版] [命题人:外部导入]

题目描述

在科学城里住着一位减法神童,他可以在一秒钟内算出两个数相减的结果。这两个数可不是普通的数字,它们是11位以上的“宠然大物”。为了证明自己神奇的计算能力,减法神童请全城的人都来出题考自己,只要答错一题他就自愿放弃“减法神童”的称号。
你想考考减法神童吗?还是先编写一个程序帮我们算出任意两个11位以上的数相减的精确结果吧。

 

输入

第1行是被减数A,第2行是减数B(A,B的位数大于11,小于200)。

 

输出

A-B的结果。

 

样例输入

5894379463257
1245648324567

 

样例输出

4648731138690
技术分享图片
 1 #include <iostream>
 2 #include<string>
 3 #include<algorithm>
 4 using namespace std;
 5 string s,t;
 6 int a[5005],b[5005],c[5005];
 7 int main()
 8 {
 9     cin>>s>>t;
10     int len1=s.size(),len2=t.size();
11     for(int i=len1-1;i>=0;i--)
12         a[len1-i-1]=s[i]-0;
13     for(int i=len2-1;i>=0;i--)
14         b[len2-i-1]=t[i]-0;
15     int len=max(len1,len2);
16     for(int i=0;i<len;i++)
17     {
18         c[i]+=(a[i]+b[i]);
19         if(c[i]>9)
20         {
21             c[i]-=10;
22             c[i+1]++;
23         }
24     }
25     if(c[len]!=0)
26     {
27         len++;
28     }
29     for(int i=len-1;i>=0;i--)
30         cout<<c[i];
31     cout<<endl;
32     return 0;
33 }
View Code

 





以上是关于高精度减法神童的主要内容,如果未能解决你的问题,请参考以下文章

高精度减法神童

高精度2--减法

高精度减法

高精度减法

高精度 加法 减法 乘法 除法 整合

高精度算法—减法篇