不正宗题解
2023-08-05 18:48:38
发布于:浙江
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std; //template operator
class lll{
public:
int a[10000];
int len;
bool f=0;
friend istream& operator >>(istream &input,lll &a){
string arr;
input >> arr;
int len = arr.length() - 1;
if(arr[0] == '-'){
len--;
a.f = true;
}
a.len = len;
for(int i = 0;i <= len;i++){
a.a[len - i] = arr[i] - '0';
}
return input;
}
friend lll operator +(const lll a,const lll b){
lll c;
int len = max(a.len,b.len);
c.a[0] = 0;
for(int i = 0;i <= len;i++){
c.a[i] = a.a[i] + b.a[i] + c.a[i];
c.a[i+1] += c.a[i] / 10;
c.a[i] %= 10;
}
if(c.a[len+1])len++;
c.len = len;
return c;
}
friend bool operator >(const lll a,const lll b){
if(a.len > b.len)return true;
if(b.len > a.len)return false;
if(a.f == 0&&b.f == 1){
return true;
}else{
return false;
}
for(int i = a.len;i>=0;i--) {
if(a.a[i] < b.a[i])return false;
}
return true;
}
//friend lll operator -(const lll a,const lll b){
// lll c;
// if(a.f == 1||b.f == 1)return c;
//
//}
friend ostream& operator <<(ostream &output,const lll a){
if(a.f)output << '-';
for(int i = a.len;i >= 0;i--){
output << a.a[i];
}
return output;
}
};
lll a,b;
int main(){
cin >> a >> b;
cout << a + b;
return 0;
}
这里空空如也
有帮助,赞一个