整数高精度加法
本文最后更新于-1天前,其中的信息可能已经过时,如有错误请发送邮件到2392862431@qq.com

基本思想:

把多位整数用一个数组或是容器储存起来,再进行加法运算。

实现过程:

1、用两个数组或是容器把加数与被加数存储起来,(记住:最好把个位数存储在第一位,高位放在最后面,这样方便进行进位)

2、实现两数组或是容器内的加法以及进位操作。(难点)

3、输出最后结果。

代码实现:

1、对操作数据以及最后数据的预处理

string a,b;
cin>>a>>b;
vector<int> A,B;
for(int i=a.size()-1;i>=0;i--)
{
   A.push_back(a[i]-'0');   //易错点:记住要把字符xii'n
}
for(int i=b.size()-1;i>=0;i--)
{
   B.push_back(b[i]-'0');
}
auto C=add(A,B); //auto 是系统自动根据函数返回值等判断数据类型
for(int i=C.size()-1;i>=0;i--)
   cout<<C[i];
return 0;

2、实现add函数

vector <int> add(vector<int>&A,vector<int>&B)
{
   if(A.size()<B.size())
   return add(B,A);
   vector<int>C;
   int t=0;
   for(int i=0;i<A.size();i++)
  {
        t=t+A[i];
        if(i<B.size())
        t=t+B[i];
        C.push_back(t%10);
        t=t/10
  }
   if(t)
   C.push_back(t);
   return C;
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇