注意是a+b的算法,不需要csdn的专家,后台人员或者工作者回答,答了也不会采纳你噢亲!
平常的a+b一般就是常用的普通加减算法,也可以借助字符数组去求解。
大数的话,高精度算法
希望对题主有所帮助,可以的话,帮忙点个采纳!
#include<iostream>
#include<string>
#define N 1005
using namespace std;
int a[N],b[N],c[N];
int main(void){
string s1,s2;
cin>>s1>>s2;
int len1=s1.size();
int len2=s2.size();
for(int i=0;i<len1;i++){
a[i]=s1[len1-1-i]-'0';
}
for(int i=0;i<len2;i++){
b[i]=s2[len2-1-i]-'0';
}
int l=len1>len2 ? len1:len2;
for(int i=0;i<l;i++){
c[i]=a[i]+b[i]+c[i];
if(c[i]>9){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
if(c[l]!=0){
l++;
}
while(c[l-1]==0&&l-1>=1){
l--;
}
for(int i=l-1;i>=0;i--){
cout<<c[i];
}
return 0;
}
a+b还有算法吗
按位相加,进位标记与下一位相加。