高精度加法
来源:互联网 发布:简单的淘宝昵称大全 编辑:程序博客网 时间:2024/05/21 08:55
A+B大数版
Problem : 748
Time Limit : 1000ms
Memory Limit : 65536K
description
Calculate a+b 的值
input
多组输入,每组两个数 a,b(-10^20<=a,b<=10^20)
output
对于每组输入,输出 a+b 的值。(long long用%lld输出)
sample_input
1 5
sample_output
6
hint
用字符串直接加吧
source
#include<stdio.h>
#include<string.h>
#define N 10000
void daozhi(char a[],int m)
{
int i;
char temp;
for(i=0;i<m/2;i++)
{
temp=a[i];
a[i]=a[m-1-i];
a[m-1-i]=temp;
}
}
int main()
{
void add(char a[],char b[],char c[]);
char a[N],b[N];
char str[N];
long long m,i;
while(~scanf("%s",a))
{ m=0;
scanf("%s",b);
add(a,b,str);
for(i=0;i<strlen(str);i++)
{
m=m*10+(str[i]-'0');
}
printf("%lld",m);
}
return 0;
}
void add(char a[],char b[],char c[])
{
int i,e,d;
int n,m;
n=strlen(a);
m=strlen(b);
daozhi(a,n);
daozhi(b,m);
e=0;
for(i=0;i<n&&i<m;i++)
{
d=b[i]-'0'+a[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
if(i<m)
for(;i<m;i++)
{
d=b[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
else
for(;i<n;i++)
{
d=a[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
if(e!=0)
c[i++]=e+'0';
c[i]=0;
i=n;
daozhi(c,n);
}
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度 加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- 高精度加法
- ZooKeeper简要笔记
- Google+ Authentication in ASP.Net
- 第六周项目五友元类
- LightOJ 1224 DNA Prefix
- Google《Android性能优化》学习笔记
- 高精度加法
- 【组队赛#6 Greater New York Regional 2009】解题总结
- 输出转换字符
- 锋利的jQuery 第六章 jQuery于Ajax的应用
- HDU-3829 Cat VS Dog
- 一些常用的脚本示例
- –purge是不保留配置文件的意思?
- Debug与Release版本的区别详解
- Visual Studio 2012 - Visual C++ Pragma 指令和 __Pragma 关键字