大明A+B

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7545    Accepted Submission(s): 2662

Problem Description
话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。

现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。

 
Input
本题目包含多组测试数据,请处理到文件结束。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
 
Output
请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。
 
Sample Input
1.1 2.9
1.1111111111 2.3444323343
1 1.1
 
Sample Output
4
3.4555434454
2.1
 
Author
linle
 
Source
 
 
代码:
 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 405
char sa[maxn],sb[maxn];
struct node
{
int NN[],point[];
int pos,nlen;
void init()
{
memset(NN,,sizeof(NN));
memset(point,,sizeof(point));
}
};
node aa,bb;
void cal(char *str,node *p) //将大小数分解
{
int i,k,j=,temp;
p->pos=strlen(str)-;
for(i=;str[i]!='.'&&i<=p->pos;i++)
p->NN[j++]=str[i]-'';
for(k=i-,j=;k>j;k--,j++){
temp=p->NN[k];
p->NN[k]=p->NN[j];
p->NN[j]=temp;
}
if(i<=p->pos) p->nlen=i++; //NN长度点位置
else p->nlen=p->pos;
p->pos-=p->nlen ; //小数位数
for(j=;i<strlen(str);i++)
p->point[j++]=str[i]-''; //不进行逆序
}
void work(node sa ,node sb){
int i,j,cc,maxc,minc,p_len=;
if(sa.pos>sb.pos){
minc=sb.pos;
maxc=sa.pos;
}
else{
minc=sa.pos;
maxc=sb.pos;
}
cc=;
p_len=maxc-;
for(i=maxc-;i>=;i--){
sa.point[i]+=sb.point[i]+cc;
cc= sa.point[i]/;
sa.point[i]%=;
}
if(sa.nlen>sb.nlen){
maxc=sa.nlen;
minc=sb.nlen;
}
else{
maxc=sb.nlen;
minc=sa.nlen;
}
//判断小数点是否进
maxc++;
for(i=,j=;j<=maxc;j++){
sa.NN[j]+=sb.NN[i++]+cc ;
cc=sa.NN[j]/ ;
sa.NN[j]%= ;
}
while(maxc>&&sa.NN[maxc]==) maxc--;
while(maxc>=)
printf("%d",sa.NN[maxc--]);
i=;
while(sa.point[p_len]==) p_len--;
if(i<=p_len) printf(".");
for(j=i;j<=p_len;j++)
printf("%d",sa.point[j]);
printf("\n");
}
int main()
{
while(scanf("%s%s",sa,sb)!=EOF)
{
aa.init();
bb.init();
cal(sa,&aa);
cal(sb,&bb);
work(aa,bb);
}
return ;
}
 

HDUOJ-------1753大明A+B(大数之小数加法)的更多相关文章

  1. HDU 1753 大明A+B (大正小数加法、字符串处理)

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. Codeforces Round #260 (Div. 2) A B C 水 找规律(大数对小数取模) dp

    A. Laptops time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  3. 【hdoj_1753】大明A+B(大数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1753 本题要求是,进行多位的小数加法,由于位数很多,所以不能用double类型存储,可以用字符串存储,然后 ...

  4. hdu 1753 大明A+B(高精度小数加法)

    //深刻认识到自己的粗心,为此浪费了一天.. Problem Description 话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫"大明". 这时他已经不是 ...

  5. [HDOJ] 1753.大明A+B (大数加法)

    Problem Description 话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫"大明". 这时他已经不是那个只会做100以内加法的那个"小明 ...

  6. hdu 1753 大明A+B(大数)

    题意:小数大数加法 思路:大数模板 #include<iostream> #include<stdio.h> #include<string.h> using na ...

  7. HDOJ 1753 大明A+B

    JAVA大数.... 大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  8. hdoj 1753 大明A+B 高精度/java

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. HDU 1753 大明A+B(字符串模拟,简单题)

    简单题,但要考虑一些细节: 前导0不要,后导0不要,小数长度不一样时,有进位时,逆置处理输出 然后处理起来就比较麻烦了. 题目链接 我的代码纯模拟,把小数点前后分开来处理,写的很繁杂,纯当纪念——可怜 ...

随机推荐

  1. 混沌数学之ASin模型

    相关软件:混沌数学之离散点集图形DEMO 相关代码: class ASinEquation : public DiscreteEquation { public: ASinEquation() { m ...

  2. [6] 胶囊体(Capsule)图形的生成算法

    顶点数据的生成 bool YfBuildCapsuleVertices ( Yreal radius, Yreal height, Yuint slices, Yuint stacks, YeOrig ...

  3. iOS开发-plist文件增删改查

    plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...

  4. IIS6.0支持PHP设置

    找到了一份兼职,做网站的,但是公司里面服务器是用的IIS,Win2003系统,而且以前的网站都是aspx的.老板是我们学校的一个老师,我是被学长推荐过去了. --------------------- ...

  5. [转载]Elasticsearch索引重建(Rebuild)

    From:http://blog.csdn.net/changong28/article/details/38491185 索引重建(Rebuild) 索引创建后,你可以在索引当中添加新的类型,在类型 ...

  6. WordPress 后台添加额外选项字段到常规设置页面

    有时候我们需要添加一些额外的设置选项到常规设置(后台 > 设置 > 常规)页面,下面是一个简单的范例: 直接添加到主题的 functions.php 即可:   /*** WordPres ...

  7. linux安装scikit-learn

    原文:http://www.cnblogs.com/cyttina/archive/2013/06/08/3127345.html ubuntu的看官方的文档就好了. http://scikit-le ...

  8. [Big Data] Week4B (Basic)

    Question 1 Note: In this question, all columns will be written in their transposed form, as rows, to ...

  9. 【pyhon】理想论坛爬虫1.07 退出问题,乱码问题至此解决,只是目前速度上还是遗憾点

    在 https://www.cnblogs.com/mengyu/p/6759671.html 的启示下,解决了乱码问题,在此向作者表示感谢. 至此,困扰我几天的乱码问题和退出问题都解决了,只是处理速 ...

  10. JavaScript原始基础

    一.算法 + 数据结构 = 程序 程序=数据结构+算法是由N.Wirth(沃斯)提出来的. 程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务: 数据结构指的是数据与 ...