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 ...
随机推荐
- 直接使用FileSystem以标准输出格式显示hadoop文件系统中的文件
package com.yoyosys.cebbank.bdap.service.mr; import java.io.IOException; import java.io.InputStream; ...
- jquery插件开发基本步骤
一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心 ...
- memcache缓存系统
一.缓存系统 静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服 ...
- RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法
1. proc: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: N ...
- CSS怎样改变行内样式(通过外部级联样式表) css !important用法CSS样式使用优先级判断
CSS样式优先级 行内>内部>外部 使用!important的css定义是拥有最高的优先级的.只是在ie6下出了一点小的bug,注意书写方式一般可以轻松避开的. CSS中的!importa ...
- Android源码下载方法
1. 下载 repo 工具 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/re ...
- 什么是mycat?
Mycat关键特性 关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据 ...
- 诡异之--map clear 之后可能导致size != 0的操作
map<char, int>mp; charMp[; charMp['b'] ++; cout<<charMp['a']<<endl; cout<<ch ...
- jq-文本框只能输入数字
<input type="text" onKeyUp="value=value.replace(/\D/g,'')" /> onKeyUp: 当输 ...
- python--8、面向对象的深入知识
面向对象的三大特性 上一篇我们讲的主要内容都符合面向对象的封装特性.那么问题来了?面向对象难道只有封装性么?当然不是,作为一个这么难理解的东西,要是只有封装性都对不起我们死了这么多脑细胞!所以,晴天霹 ...