《笔记10》
2025-05-31 08:25:28
发布于:广东
高精度
#include<bits/stdc++.h>
using namespace std;
int a[100000010];
int main(){
string num;
cin>>num;
len=num.length();
for(int i=1;i<=len;i++){
a[i]=num[len-i]-'0';
}
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
int main(){
string num;
cin>>num;
int len=num.length();
for(int i=1;i<=len;i++){
a[i]=num[len-i]-'0';
}
for(int i=len;i>=1;i--){
cout<<a[i];
}
cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
int main(){
string num;
cin>>num;
int x;
cin>>x;
int len=num.length();
for(int i=1;i<=len;i++){
a[i]=num[len-i]-'0';
}
a[1]+=x;
for(int i=1;i<=len;i++){
a[i+1]+=a[i]/10;
a[i]%=10;
}
//
while(a[len+1]){
len++;
a[len+1]+=a[len]/10;
a[len]%10;
}
//
for(int i=len;i>=1;i--){
cout<<a[i];
}
cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010],b[1000010];
int main(){
string n1,n2;
cin>>n1>>n2;
int l1=n1.length();
int l2=n2.length();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=1;i<=l1;i++){
a[i]=n1[l1-i]-'0';
}
for(int i=1;i<=l2;i++){
b[i]=n2[l2-i]-'0';
}
l1=max(l1,l2);
for(int i=1;i<=l1;i++){
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
while(a[l1+1]){
l1++;
a[l1+1]+=l1/10;
a[l1]%=10;
}
for(int i=l1;i>=1;i--){
cout<<a[i];
}
cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
int main(){
string num;
cin>>num;
int x;
cin>>x;
int len=num.length();
for(int i=1;i<=len;i++){
a[i]=num[len-i]-'0';
}
a[1]-=x;
for(int i=1;i<=len;i++){
while(a[i]<0){
a[i+1]--;11
a[i]+=10;
}
}
//
while(len>1&&a[len]==0){
len--;
}
//
for(int i=len;i>=1;i--){
cout<<a[i];
}
cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010],b[1000010],c[1000010];
int main(){
string n1,n2;
cin>>n1>>n2;
int l0;
int l1=n1.length();
int l2=n2.length();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=1;i<=l1;i++){
a[i]=n1[l1-i]-'0';
}
for(int i=1;i<=l2;i++){
b[i]=n2[l2-i]-'0';
}
for(int i=1;i<=l1;i++){
for(int j=1;j<=l2;j++){
c[i+j-1]+=a[i]*b[j];
}
}
l0=l1+l2-1;
for(int i=1;i<=l0;i++){
if(c[i]>=10){
c[i+1]+=c[i]/10;
c[i]%=10;
if(i+1>l0) l0=i+1;
}
}
while(l0>1 && c[l0]==0) l0--;
for(int i=l0;i>=1;i--) cout<<c[i];
cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
int main(){
string num;
cin>>num;
int x;
cin>>x;
int len=num.length();
for(int i=1;i<=len;i++){
a[i]=num[len-i]-'0';
}
for(int i=1;i<=len;i++){
a[i]*=x;
}
for(int i=1;i<=len;i++){
a[i+1]+=a[i]/10;
a[i]%=10;
}
//
while(a[len+1]){
len++;
a[len+1]+=a[len]/10;
a[len]%10;
}
//
for(int i=len;i>=1;i--){
cout<<a[i];
}
cout<<endl;
}
全部评论 2
你还是那么爱用万能头啊,信不信我向张老帅举报你
2025-05-18 来自 广东
02025-05-31 来自 广东
0
你有本事做成【class】啊
2025-05-18 来自 四川
0
有帮助,赞一个