nyoj_513_A+B Problem IV_20130131532
A+B Problem IV
- 描述
- acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
- 输入
- 包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400)
- 输出
- 每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。
- 样例输入
-
1.9 0.1
0.1 0.9
1.23 2.1
3 4.0 - 样例输出
-
2
1
3.33
7 - 来源
- hdu
#include <stdio.h> #include <string.h>
#define MAX 440
int an1[MAX],an2[MAX],an3[MAX],an4[MAX];
char str1[MAX],str2[MAX],s[2*MAX];
int main()
{
memset(s,0,sizeof(s));
while(gets(s))
{ int i,j,t=0;
int len1,len2,len;
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
memset(an1,0,sizeof(an1));
memset(an2,0,sizeof(an2));
memset(an3,0,sizeof(an3));
memset(an4,0,sizeof(an4));
len=strlen(s);
for(i=0,j=0;i<len;i++)
{
if(s[i]==' ')
break;
else
str1[j++]=s[i];
}
for(i+=1,j=0;i<len;i++)
{
str2[j++]=s[i];
}
len1=strlen(str1);
for(i=0;i<len1;i++)
{
if(str1[i]=='.')
{t=i;break;}
}
if(i==len1)
t=i;
for(i+=1,j=1;i<len1;i++)
{
an2[j++]=str1[i]-'0';
}
for(i=t-1,j=0;i>=0;i--)
{
an1[j++]=str1[i]-'0';
}
/*
for(i=0;i<10;i++)
{
printf("%d",an1[i]);
}
for(i=0;i<10;i++)
{
printf("%d",an2[i]);
}
*/
len2=strlen(str2);
t=0;
for(i=0;i<len2;i++)
{
if(str2[i]=='.')
{t=i;break;}
}
if(i==len2)
t=i;
for(i+=1,j=1;i<len2;i++)
{
an4[j++]=str2[i]-'0';
}
for(i=t-1,j=0;i>=0;i--)
{
an3[j++]=str2[i]-'0';
}
for(i=MAX-1;i>=0;i--)
{
an2[i]+=an4[i];
if(an2[i]>=10)
{
an2[i]-=10;
an2[i-1]++;
}
}
if(an2[0]>0)
an1[0]++;
for(i=0;i<MAX;i++)
{
an1[i]+=an3[i];
if(an1[i]>=10)
{
an1[i]-=10;
an1[i+1]++;
}
}
for(i=MAX-1;i>0&&an1[i]==0;i--);
for(;i>=0;i--)
printf("%d",an1[i]);
for(i=MAX-1;i>0&&an2[i]==0;i--);
if(i>0)
{t=i;
printf(".");
for(i=1;i<=t;i++)
printf("%d",an2[i]);
}
printf("\n");
}
return 0;
}
nyoj_513_A+B Problem IV_20130131532的更多相关文章
- 1199 Problem B: 大小关系
求有限集传递闭包的 Floyd Warshall 算法(矩阵实现) 其实就三重循环.zzuoj 1199 题 链接 http://acm.zzu.edu.cn:8000/problem.php?id= ...
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...
- C - NP-Hard Problem(二分图判定-染色法)
C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:262144 ...
- Time Consume Problem
I joined the NodeJS online Course three weeks ago, but now I'm late about 2 weeks. I pay the codesch ...
- Programming Contest Problem Types
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- [LeetCode] Water and Jug Problem 水罐问题
You are given two jugs with capacities x and y litres. There is an infinite amount of water supply a ...
- [LeetCode] The Skyline Problem 天际线问题
A city's skyline is the outer contour of the silhouette formed by all the buildings in that city whe ...
随机推荐
- [Swift通天遁地]三、手势与图表-(1)监听屏幕上触摸事件的各种状态
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- $CF1141A Game 23$
这题很简单啊 可以用\(DFS\)来打 毕竟是 \(2^x*3^y=m 输出x+y啊\) 这是最简单的做法 #include <bits/stdc++.h> using namespace ...
- fastjson读取json配置文件
fastjson读取json配置文件: ClassLoader loader=FileUtil.class.getClassLoader(); InputStream stream=loader.ge ...
- 查看当前linux版本
lsb_release -a 如果命令不存在,则yum安装 yum install redhat-lsb
- CSS基础知识(定位、浮动)
12.浮动 特点:将当前元素脱离文档流 float: left 即左浮动 float: right 即右浮动 注:*父与子元素,设置子元素浮动不能超出父元素的范围 *多个元素均设置为浮动时,将 ...
- JS——高级各行换色
1.获取tbody下的子元素 2.注册鼠标覆盖事件时存储当时的背景颜色,注册鼠标离开事件时把存储的颜色赋值注册事件对象 <!DOCTYPE html> <html> <h ...
- 3星|《刷新》:微软第三任CEO上任三年后的回顾
刷新:重新发现商业与未来 作者是微软第三任CEO,2014年2月上任.本书英文版出版于2017年9月,全书内容大致截至于2017年年初,算是作者上任三年后的回顾. 书中作者讲了不少自己的个人经历.作者 ...
- Codeforces_718A
A. Efim and Strange Grade time limit per test 1 second memory limit per test 256 megabytes input sta ...
- 基于zk“临时顺序节点“的分布式锁
import org.apache.zookeeper.*; import org.apache.zookeeper.data.Stat; import java.io.IOException; im ...
- Python 之列表操作
# len(list)列表元素个数 # max(list)返回列表元素最大值 # min(list)返回列表元素最小值 # list(seq)将元组转换为列表 # list.append(obj)在列 ...