25 条题解
-
-5
高精度加法
新人不会康林一个人 @杨时欢 俩提交都AC
阿米诺斯亲放心食用#include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int INF=0x3f3f3f; int main(){ string a1,b1; int a[500],b[500],c[500]; cin>>a1>>b1; int lena=a1.size(); int lenb=b1.size(); for(int i=0;i<lena;i++){ a[lena-i]=a1[i]-'0'; } for(int i=0;i<lenb;i++){ b[lenb-i]=b1[i]-'0'; } int lenc=1,x=0; while(lenc<=lena || lenc<=lenb){ c[lenc]=a[lenc]+b[lenc]+x; x=c[lenc]/10; c[lenc]=c[lenc]%10; lenc++; } if(x>0){ c[lenc]=x; } else{ lenc--; } for(int i=lenc;i>=1;i--) cout<<c[i]; cout<<endl; return 0; }提示:此代码可提交题@@高精度加法*** -
-6
我发高精度怎么了#include <iostream> using namespace std; #define ll long long const int N =1e5+10; const int INF =0x3f3f3f3f; string a,b; int a1[N],b1[N],c1[N],lena,lenb,lenc,x; int main() { cin>>a>>b; lena=a.size(); lenb=b.size(); for(int i=0;i<lena;i++) { a1[i]=a[lena-i-1]-'0'; } for(int i=0;i<lenb;i++) { b1[i]=b[lenb-i-1]-'0'; } lenc=max(lena,lenb); for(int i=0;i<lenc;i++) { c1[i]=a1[i]+b1[i]+x; x=c1[i]/10; c1[i]%=10; } c1[lenc]=x; while(c1[lenc]==0&&lenc>0) { lenc--; } for(int i=lenc;i>=0;i--) { cout<<c1[i]; } return 0; }
信息
- ID
- 1
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 4901
- 已通过
- 1385
- 上传者