华师一附中OI组
标题:
P1601 A+B Problem(高精)
[打印本页]
作者:
admin
时间:
2018-4-19 14:17
标题:
P1601 A+B Problem(高精)
题目描述
高精度加法,x相当于a+b problem,
不用考虑负数
输入输出格式
输入格式:
分两行输入a,b<=10^500
输出格式:
输出只有一行,代表A+B的值
作者:
倚窗倾听风吹雨
时间:
2018-7-18 18:47
#include<iostream>
using namespace std;
int a[1000]={},b[1000]={},c[1000]={};
int i,j;
string s1,s2;
int main()
{
cin>>s1;
cin>>s2;
a[0]=s1.size();
b[0]=s2.size();
for(i=a[0];i>=1;i--)
a[i]=s1[a[0]-i]-'0';
for(i=b[0];i>=1;i--)
b[i]=s2[b[0]-i]-'0';
for(i=1;i<=max(a[0],b[0]);i++)
{
c[i]=a[i]+b[i]+j;
j=c[i]/10;
c[i]%=10;
}
c[i]=j;
if(c[i]==0)i--;
for(;i>=1;i--)
cout<<c[i];
return 0;
}
复制代码
作者:
黄煦喆
时间:
2018-8-27 15:23
#include<iostream>
using namespace std;
int a[1000],b[1000],c[1000];
string s1,s2;
int main()
{
cin>>s1>>s2;
int l1=s1.size(),l2=s2.size();
for(int i=1;i<=l1;i++)a[i]=s1[l1-i]-'0';
for(int i=1;i<=l2;i++)b[i]=s2[l2-i]-'0';
for(int i=1;i<=600;i++)
{
c[i]+=a[i]+b[i];
c[i+1]+=c[i]/10;
c[i]%=10;
}
int l=600;
while(!c[l]&&l>1)l--;
for(int i=l;i>=1;i--)cout<<c[i];
return 0;
}
复制代码
作者:
JASONZHU
时间:
2019-7-13 16:36
// luogu-judger-enable-o2
#include <iostream>
#include <cmath>
using namespace std;
const int LENGTH = 505;
int a[LENGTH],b[LENGTH];
int la,lb,lc;
int c[LENGTH];
int main()
{
string sa,sb;
cin>> sa >> sb;
la=sa.size(); lb=sb.size();
for(int i=1;i<=la;i++) a[i] = sa[la - i]-'0';
for(int i=1;i<=lb;i++) b[i] = sb[lb - i]-'0';
lc=max(la , lb);
for(int i=1;i<=lc;i++) c[i]=a[i]+b[i];
for(int i=1;i<=lc;i++)
if(c[i]>=10)
{
c[i]-=10;
c[i+1]++;
}
if(c[lc+1]!=0) lc++;
for(int i=lc;i>=1;--i) cout << c[i];
return 0;
}
复制代码
欢迎光临 华师一附中OI组 (http://hsyit.cn/)
Powered by Discuz! X3.2