百位数精确求和
来源:互联网 发布:在线对对联软件 编辑:程序博客网 时间:2024/06/13 00:18
FJNU.1743
Description
键入两个高精度非负整数(不超过230位),求它们的和(精确值)。
Input
数字串1
数字串2
Output
两数之和(并换行回车)
Sample Input
234567891234
143986543788123
Sample Output
144221111679357
My Program
#include<iostream>
#include<string.h>
using namespace std;
int main()
...{
int i,j,m,n,c;
char a[230],b[230];
scanf("%s",a);
scanf("%s",b);
if(a[0]=='0'&&b[0]=='0')
...{
cout<<0<<endl;
return 0;
}
m=strlen(a);
n=strlen(b);
if(m>n)
...{
c=m-n;
for(i=n-1;i>=0;i--)
...{
j=i+c;
a[j]+=b[i]-'0';
while(a[j]>'9')
...{
a[j]-=10;
a[--j]++;
}
}
if(a[0]=='0'&&(m||n))
cout<<1;
for(i=0;i<m;i++)
cout<<a[i];
}
else
...{
c=n-m;
for(i=m-1;i>=0;i--)
...{
j=i+c;
b[j]+=a[i]-'0';
while(b[j]>'9')
...{
b[j]-=10;
b[--j]++;
}
}
if(b[0]=='0'&&(m||n))
cout<<1;
for(i=0;i<n;i++)
cout<<b[i];
}
cout<<endl;
return 0;
}
#include<string.h>
using namespace std;
int main()
...{
int i,j,m,n,c;
char a[230],b[230];
scanf("%s",a);
scanf("%s",b);
if(a[0]=='0'&&b[0]=='0')
...{
cout<<0<<endl;
return 0;
}
m=strlen(a);
n=strlen(b);
if(m>n)
...{
c=m-n;
for(i=n-1;i>=0;i--)
...{
j=i+c;
a[j]+=b[i]-'0';
while(a[j]>'9')
...{
a[j]-=10;
a[--j]++;
}
}
if(a[0]=='0'&&(m||n))
cout<<1;
for(i=0;i<m;i++)
cout<<a[i];
}
else
...{
c=n-m;
for(i=m-1;i>=0;i--)
...{
j=i+c;
b[j]+=a[i]-'0';
while(b[j]>'9')
...{
b[j]-=10;
b[--j]++;
}
}
if(b[0]=='0'&&(m||n))
cout<<1;
for(i=0;i<n;i++)
cout<<b[i];
}
cout<<endl;
return 0;
}
YOYO's Note:
高精度的加法。
用字符串按位从右开始算,同时判断是否进位,最后输出。
- 百位数精确求和
- fjnu 1743 百位数精确求和
- js parseFloat 浮点数求和 精确位数
- Java语言程序设计 学习作业2.6**分离个十百位数求和
- 百位数的分解
- 百位数答应了
- 百位数分解
- 百位数分解
- IOS 整数取个十百位数
- 第十六周 百位数分解
- 7C分解百位数
- 精确数
- OJ平台:百位数答应了
- 18周OJ百位数答应了
- 第六周 OJ 百位数分解
- 第七周 oj 2679百位数分解
- oj-7-c-百位数求解
- 输出一个三位数的个,十,百位,并求和.
- 2.18 C#
- Tkinter之一(TCL/Tk在Python上的移植)
- 编辑日志和删除日志都得有权限才能进行
- linux解压 tar命令
- Google手机遭遇成长的烦恼
- 百位数精确求和
- 学习《深入浅出MFC》总结(上)
- 博客首篇
- 开心一下
- 1+1猜想 II
- 如何让MSSQL两个数据库的内容同步
- 学习《深入浅出MFC》总结(下)
- 通过作业,定时同步两个数据库
- Rails