标题信息:总结多个大整数,(使用add循环相加的功能)

http://acm.hdu.edu.cn/showproblem.php?

pid=1047

AC代码:

/**

 *大数的循环加法,转化为字符串循环相加到字符串为"0"

 *注意s=="0"的情况,输出数据之间有空格

 */

#include<iostream>

#include<string>

#include<cstdio>

using namespace std;

string add(string s1,string s2){//字符串模拟大数加法,

    string s;

    int len1,len2;

    len1=s1.size()-1; len2=s2.size()-1;

    int i=0,flag=0;

    while(len1>-1&&len2>-1){

        int sum=flag+(s1[len1--]-'0')+(s2[len2--]-'0');

        s+=char ((sum)%10+'0');

        flag=sum/10;

    }

    while(len1>-1){

        int sum=flag+(s1[len1--]-'0');

        s+=char ((sum)%10+'0');

        flag=sum/10;

    }

    while(len2>-1){

        int sum=flag+(s2[len2--]-'0');

        s+=char ((sum)%10+'0');

        flag=sum/10;

    }

    if(flag) s+=char ('0'+flag);

    //cout<<s<<endl;

    for(int i=0;i<s.size()/2;i++){

        char c=s[i];

        s[i]=s[s.size()-i-1];

        s[s.size()-i-1]=c;

    }

    return s;

}

int main()

{

    int t;

    cin>>t;

    while(t--){

        string s,s1;

        cin>>s;

        if(s=="0"){//仅仅有一个0的情况

            cout<<"0"<<endl;

        }

        else{

            cin>>s1;

            for(int i=1;s1!="0";i++){

                s=add(s,s1);

                cin>>s1;

            }

            //cout<<s<<endl;

            int k;

            for(k=0;k<s.size();k++){

                if(s[k]!='0') break;

            }

            if(k==s.size()) cout<<"0";//全是0

            for(int i=k;i<s.size();i++){

                cout<<s[i];

            }

            cout<<endl;

        }

        if(t) cout<<endl;//每次输出有一个空格

    }

    return 0;

}

版权声明:本文博主原创文章。博客,未经同意不得转载。

hdu1047(模拟大量的循环添加)的更多相关文章

  1. twisted 模拟scrapy调度循环

    """模拟scrapy调度循环 """from ori_test import pr_typeimport loggingimport ti ...

  2. js循环添加事件的问题

    1.需求 给下面每个按钮增加事件 <ul id="list"> <li>按钮1</li> <li>按钮2</li> &l ...

  3. JS给元素循环添加事件的问题

    <ul> <li>男</li> <li>女</li> <li>老</li> <li>少</li&g ...

  4. JS - 循环添加 DropDownList(Select)

    代码: <td style="padding-left: 10px;"> <select id="ddl_picture_3"> < ...

  5. 【特效】给元素循环添加class

    经常会遇到给元素循环添加class的效果,例如下面这个图 每个模块的背景色和图标都不相同,但是呢,模块的数量又不确定,说不定有几十个,那我不能设计几十个图标吧,所以,可以做成每9个一循环,也就是第10 ...

  6. select(有局限性),jq循环添加select的值

    加载的时候改变select的默认值,只需改变select的value值 $("#one").val(@ViewBag.val);//@ViewBag.val是要默认选中的值的val ...

  7. Android及java中list循环添加时覆盖的问题-20171021

    鉴于新浪博客太渣,转到这来. 最近在工程设计时,使用list循环添加map对象发现,最终全部变为最后一个map的值,但是list的数值还是正确的,也就是说添加了N(list长度或者说循环的次数)个相同 ...

  8. List循环添加数据覆盖问题

    问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; imp ...

  9. C# 使用复选框实现循环添加多条信息入库!

    先在前台获取到所有要添加信息的Id $('.imgid').each(function () {                     if ($(this).attr("src" ...

随机推荐

  1. 小学生之手(01)之 "for循环"

    ---恢复内容开始--- 咳咳咳!第一次要写这种东西,要是有不足的地方,请见谅!!!并且感觉在这班门弄斧是不是有点托大了.一向擅长低调的我,在’被逼无奈‘之下,要嚣张一下了......(此处省略500 ...

  2. OD: First Step

    开始学习 0Day 了,前进了小小一步:<0Day 安全:软件漏洞分析艺术>第一篇末尾的 crack_me 实验成功了. 纪念一下. 几个概念: PE:    Portable Execu ...

  3. Linux操作系统分析__破解操作系统的奥秘

    学号:SA12226343  姓名:sunhongbo 一.操作系统工作的基础 存储程序计算机和堆栈(函数调用堆栈)机制以及中断机制是操作系统工作的基础. 现代计算机仍采用存储程序计算机的结构体系和工 ...

  4. Catel(翻译)-为什么选择Catel

      1. 介绍        这篇文章主要是为了说明,我们为什么要使用Catel框架作为开发WPF,Silverlight,和Windows phone7应用程序的开发框架.   2. 通用功能 2. ...

  5. 武汉科技大学ACM :1002: 零起点学算法28——判断是否闰年

    Problem Description 输入年份,判断是否闰年 Input 输入一个整数n(多组数据) Output 如果是闰年,输出yes,否则输出no(每组数据一行) Sample Input 2 ...

  6. 自定义标签(JSTL)

    自定义标签的步骤: 1.确定需求,如:用<my:date/>输出当前时间 2.编写Java类:需要实现实现接口javax.servlet.jsp.tagext.JspTag 具体的接口为: ...

  7. poj 1182 并查集高级应用

    C - 是谁站在食物链的顶端 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:10000KB     ...

  8. [目录][总结] C++和Java 中的主要操作对比

    总结一些,C++ 和Java 中的一些常用操作对比,就当是自己的查询工具书啦.(暂时按随笔的更新时间排序) [Stack] c++ V.S. Java (2015.04.27) [Map]   c++ ...

  9. MySQL 覆盖索引

    通常大家都会根据查询的WHERE 条件来穿件合适的索引,不过这只是索引优化的一个方面.设计优秀的索引应该考虑到整个查询,而不单单是WHERE 条件部分.索引确实是一种查找数据的高效方式,但是MySQL ...

  10. Zepto源码笔记(一)

    最近在研究Zepto的源码,这是第一篇分析,欢迎大家继续关注,第一次写源码笔记,希望大家多指点指点,第一篇文章由于首次分析原因不会有太多干货,希望后面的文章能成为各位大大心目中的干货. Zepto是一 ...