要存一个很大很大很大的数,要用高精度,但是,本蒟蒻没学,今天在网上闲逛时突发奇想出一种高精度思路,在此分享一下。
例如输入一个long long存不下的数:
123456789123456789123456789
我们把它拆成两半:
1234567891234和56789123456789
分开用long long存,就可以存了。
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a=0,b=0;
string s;
cin>>s;
int len=s.size();
for(int i=0;i<=len/2;i++){
a=a*10+s[i]-'0';
}
for(int i=len/2+1;i<len;i++){
b=b*10+s[i]-'0';
}
cout<<a<<b;
long long c;
cin>>c;
b+=c;
cout<<a<<b;
return 0;
}
这种“非主流”算法应该还能实现更多功能,但是,本蒟蒻不会写,各位大佬见谅