标题信息:总结多个大整数,(使用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. 模块计算机类型“X64”与目标计算机类型“x86”冲突

    问题描述:在X64 平台上开发dll 文件,在生成dll时Vs 2010 出现如下错误 :"fatal error LNK1112: 模块计算机类型"X64"与目标计算机 ...

  2. jquery之营销系统

    // //////////////////////////优惠券开始//////////////////////////// // 给附加条件选择框添加事件 function inputFuJia() ...

  3. Oracle VM VirtualBox 随系统自动启动虚拟机的方法

    Oracle VM VirtualBox 随系统自动开启虚拟机的方法 @ECHO OFFcd..cd E:cd..cd E:\VirtualBox\start VirtualBox.exe -star ...

  4. Neral的前言

    大家好,我是Neral,我准备写一个js库. 在动笔之前,我一直都处在很忐忑的状态,因为我写代码讲究的是一种感觉,那是看到自己写的代码之后大脑中就出现之后的无数个编码分支的快感,但是,如果很长一段时间 ...

  5. .NET Core初体验 - 在Mac下运行第一个Web示例程序

    要说最近两天程序猿之间最喜欢吹水的事是什么?那绝壁是甲骨文要放弃Java!简直做梦都要笑醒!由于公司的产品线全面转向Java,最近几个月也一直在苦学Java技术.已经默默决定了,如果消息证实是真的,我 ...

  6. Resharper

    http://baike.baidu.com/link?url=H8DVtrvKV1Cg-Hrz82C6ZiJOUXbi_3BfoROe-RlHhctPna4-BFfglPh2OsR-KmCqRZ7_ ...

  7. java 连接sql server2008配置

    Java 应用程序连接SQL Server2008 (Eclipse+JDK7.0+jdbc4.0.jar+Sql Server2008) 假设应用端的连接语句为: String url = &quo ...

  8. 关于textarea标签在谷歌跟火狐可以拖动大小

    关于textarea标签在谷歌和火狐可以拖动大小 而在IE是不会出现这种情况的 解决的方法:我们给这个标签加个 resize: none; 就可以解决了

  9. Unity5.3——UI之Canvas

    原文:http://docs.unity3d.com/Manual/UISystem.html Canvas 所有的UI都应该放在Canvas里面(子层).Canvas是一个带有Canvas组件的Ga ...

  10. Word 2010发布博客文章

    只测试了cnblog 1.新建文件选择word 2010自带的博客文章模板 2.在管理账户中新建一个博客账户,也就是你自己在博客园的账户,博客选其他 3.然后选择下一步,博客的URL在自己的博客设置里 ...