hdu1047(模拟大量的循环添加)
标题信息:总结多个大整数,(使用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(模拟大量的循环添加)的更多相关文章
- twisted 模拟scrapy调度循环
"""模拟scrapy调度循环 """from ori_test import pr_typeimport loggingimport ti ...
- js循环添加事件的问题
1.需求 给下面每个按钮增加事件 <ul id="list"> <li>按钮1</li> <li>按钮2</li> &l ...
- JS给元素循环添加事件的问题
<ul> <li>男</li> <li>女</li> <li>老</li> <li>少</li&g ...
- JS - 循环添加 DropDownList(Select)
代码: <td style="padding-left: 10px;"> <select id="ddl_picture_3"> < ...
- 【特效】给元素循环添加class
经常会遇到给元素循环添加class的效果,例如下面这个图 每个模块的背景色和图标都不相同,但是呢,模块的数量又不确定,说不定有几十个,那我不能设计几十个图标吧,所以,可以做成每9个一循环,也就是第10 ...
- select(有局限性),jq循环添加select的值
加载的时候改变select的默认值,只需改变select的value值 $("#one").val(@ViewBag.val);//@ViewBag.val是要默认选中的值的val ...
- Android及java中list循环添加时覆盖的问题-20171021
鉴于新浪博客太渣,转到这来. 最近在工程设计时,使用list循环添加map对象发现,最终全部变为最后一个map的值,但是list的数值还是正确的,也就是说添加了N(list长度或者说循环的次数)个相同 ...
- List循环添加数据覆盖问题
问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; imp ...
- C# 使用复选框实现循环添加多条信息入库!
先在前台获取到所有要添加信息的Id $('.imgid').each(function () { if ($(this).attr("src" ...
随机推荐
- [小工具] Command-line CPU Killer(附源码及下载链接)
博主有次在拆卸自己的笔记本电脑后,发现电脑如果静置时间长了有时会重启,但奇怪的是当我自己在电脑前工作的时候从来没有重启过.据此推测可能 CPU 完全空闲的时候风扇完全停转了,虽然 CPU 温度不高,但 ...
- 获取checkboxlist选中的值以及绑定来自之前选中的来自数据库的值
//////ps:一下几句都是一个意思,为的是以后有人搜索关键字的时候能定位到这里///checkboxlist绑定选中值///checkboxlist绑定来之mssql数据的值///checkbox ...
- 当setTimeout遇到闭包
1: function myTest(){ for(var i=0; i< 5; i++){ setTimeout(console.log(i), 0); } } myTest(); 或者比较正 ...
- SpringMVC学习简单HelloWorld实例
首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubuntu12.04(不同操作系统对本系列项目没有影响): 开发工具:Eclipse For JavaEE: 数据库:My ...
- 使用Gird++打印出现“Retrieving the COM class factory for component with CLSID”的解决办法
我们的接口需要返回一个gird++生成PDF文件的二进制数据,在本地测试都很好,发布到服务器上一直出现“Retrieving the COM class factory for component w ...
- (转)在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- (转)ASP.NET版本的Kindeditor插件的使用(同步)
昨天老大让我自己下载一个kindeditor说要放到“描述”功能中,并且不能提交(一边在textarea中写一边在label控件中将数据显示出来),由于从来没弄过,实在费了一翻劲.所以将此记录下来,一 ...
- 学习okhttp wiki--HTTPS
HTTPS OkHttp尝试平衡两个相互竞争的要素: 连通性(Connectivity):连接到尽可能多的服务器.这包括运行最新版本 boringssl 的服务器和不太过时的老版本 OpenSSL 的 ...
- 数据库元数据分析Demo
核心类:DatabaseMetaData.ResultSetMetaData 1 System.err.println("********************************** ...
- ZOJ3558 How Many Sets III(公式题)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud How Many Sets III Time Limit: 2 Seconds ...