高精
2025-03-02 20:17:06
发布于:北京
加:
#include<bits/stdc++.h>
using namespace std;
int a[1010], b[1010], c[1010];
int main(){
string s1, s2;
cin >> s1 >> s2;
int n = s1.size(), m = s2.size();
int len = max(n,m) - 1;
for(int i = 0; i < n; i++) a[i] = s1[n - i - 1] - '0';
for(int i = 0; i < m; i++) b[i] = s2[m - i - 1] - '0';
for(int i = 0; i <= len; i++){
c[i] += a[i] + b[i];
c[i+1] += c[i] / 10;
c[i] %= 10;
}
if(c[len + 1]) len++;
for(int i = len; i >= 0; i--) cout << c[i];
return 0;
}
#include <bits/stdc++.h>
using namespace std;
vector<int>jia(vector<int>&a,vector<int>&b){
int n=a.size();
int m=b.size();
vector<int>c;//记录结果
int jw=0;//进位
for(int i=0,j=0;i<n||j<m;i++,j++){
if(i<n)jw+=a[i];
if(j<m)jw+=b[j];
c.push_back(jw%10);
jw/=10;
}
if(jw!=0)c.push_back(jw);
return c;
}
int main(){
string s1,s2;
cin>>s1>>s2;
vector<int>a,b,c;
for(int i=s1.size()-1;i>=0;i--){
a.push_back(s1[i]-'0');
}
for(int i=s2.size()-1;i>=0;i--){
b.push_back(s2[i]-'0');
}
c=jia(a,b);
for(int i=c.size()-1;i>=0;i--){
cout<<c[i];
}
return 0;
}
减:
#include <iostream>
using namespace std;
int a[10010], b[10010], c[10010];
bool cmp(string s1, string s2){
if(s1.size() != s2.size()) return s1.size() < s2.size();
else return s1 < s2;
}
int main(){
string s1, s2;
int flag = false;
cin >> s1 >> s2;
if(cmp(s1, s2)){
cout << '-';
swap(s1, s2);
}
int l1 = s1.size(), l2 = s2.size();
int idx = max(l1, l2) - 1;
for(int i = 0; i < l1; i++) a[l1 - i - 1] = s1[i] - '0';
for(int i = 0; i < l2; i++) b[l2 - i - 1] = s2[i] - '0';
for(int i = 0; i <= idx; i++){
c[i] += a[i] - b[i];
if(c[i] < 0){
c[i] += 10;
c[i+1] -= 1;
}
}
while(!c[idx] && idx) idx--;
for(int i = idx; i >= 0; i--) cout << c[i];
return 0;
}
#include<bits/stdc++.h>
using namespace std;
bool cmp(string s1,string s2){
if(s1.size()!=s2.size())return s1.size()<s2.size();
return s1<s2;
}
vector<int>jian(vector<int>&a,vector<int>&b){
int n=a.size();
int m=b.size();
vector<int>c;//记录结果
int t=0;//借位判断
for(int i=0;i<n;i++){
int k=a[i]-t;
if(i<m)k-=b[i];
if(k<0){
k+=10;
t=1;
}
else t=0;
c.push_back(k);
}
while(c.size()>1&&c.back()==0)c.pop_back();
return c;
}
int main(){
string s1,s2;
cin>>s1>>s2;
vector<int>a,b,c;
for(int i=s1.size()-1;i>=0;i--){
a.push_back(s1[i]-'0');
}
for(int i=s2.size()-1;i>=0;i--){
b.push_back(s2[i]-'0');
}
if(cmp(s1,s2)){
cout<<"-";
c=jian(b,a);
}
else c=jian(a,b);
for(int i=c.size()-1;i>=0;i--){
cout<<c[i];
}
}
这里空空如也
有帮助,赞一个