HDU:Integer Inquiry
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define N 105
int a[N];
int main()
{
int i,j,n,n1,flag;
char ch[N];
scanf("%d",&n);
while(n--)
{
memset(a,,sizeof(a)); //数组初始化为零
while(scanf("%s",ch),ch[]!='') //输入零结束
{
n1=strlen(ch);
for(i=n1-,j=;i>=;i--)
{
a[j++]+=ch[i]-'';
a[j]+=a[j-]/; //进位
a[j-]%=; //取余
}
}
flag=;
for(i=N-;i>;i--)
{
if(flag)
printf("%d",a[i]);
else if(a[i])
{
printf("%d",a[i]);
flag=;
}
}
printf("%d\n",a[]); //输入0时应输出0,错了n多次
if(n) //输出块之间有空行
printf("\n");
}
return ;
}
改版 为什么一直WA
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define N 105
int a[N],b[N];
int main()
{
int i,j,n,n1,flag;
char ch[N];
scanf("%d",&n);
while(n--)
{
memset(a,,sizeof(a)); //数组初始化为零
while(scanf("%s",ch),ch[]!='') //输入零结束
{
n1=strlen(ch);
memset(b,,sizeof(b));
for(i=,j=n1-;j>=;j--,i++)
b[i]=ch[j]-'';
int h=;
int m;
for(i=;i<n1;i++)
{
m=a[i]+b[i]+h;
a[i]=m%;
h=m/;
}
while(h)
{
a[i]=h%;
n1++;
h=h/;
}
}
flag=;
for(i=N-;i>;i--)
{
if(flag)
printf("%d",a[i]);
else if(a[i])
{
printf("%d",a[i]);
flag=;
}
}
printf("%d\n",a[]); //输入0时应输出0,错了n多次
if(n) //输出块之间有空行
printf("\n");
}
return ;
}
C++版本
#include<iostream>
#include<cstring>
using namespace std;
#define N 110
int main()
{
int t;
cin>>t;
while(t--)
{
int sum[N]={0}; char str[N];
while(cin>>str&&str[0]!='0')
{
int num[N]={0};
int len=strlen(str);
for(int i=0;i<len;i++)
num[i]=str[len-1-i]-'0';
for(int i=0;i<N;i++)
{
sum[i]+=num[i];
if(sum[i]>9)
{
sum[i]-=10;
sum[i+1]+=1;
}
//sum[i+1]+=(sum[i]+num[i])/10;
//sum[i]=(sum[i]+num[i])%10;
}
}
int k=N-1;
while(sum[k]==0) k--;
if(k<0)
cout<<0;
else
for(;k>=0;k--)
cout<<sum[k];
cout<<endl;
if(t)
cout<<endl;
} return 0;
}
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
const int N=;
int main()
{
int a[N],b[N],c,d,ou,kl;
string s1,s2;
getline(cin,s1);
c=s1.length();
ou=;
for (int i=;i<N;i++)//把s1h装到a[100]里
{
a[N--i]=s1[c--i]-'';
if(c--i<)
{
a[N--i]=;
}
}
while(getline(cin,s2)&&s2!="")
{
d=s2.length();
for (int k=;k<N;k++)//把s2装到b[100]里
{
b[N--k]=s2[d--k]-'';
if(d--k<)
{
b[N--k]=;
}
}
for (int l=N-;l>;l--)//做加法
{
a[l]+=b[l];
if(a[l]>=)
{
a[l]-=;
a[l-]++;
}
}
}
for (int g=;g<N;g++)//从不为零的位置开始输出到最后一位
{
ou+=a[g];
if(ou!=)
cout<<a[g];
}
cout<<endl; return ;
}
HDU:Integer Inquiry的更多相关文章
- hdu 1047 Integer Inquiry
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1047 Integer Inquiry Description One of the first use ...
- hdu acm-1047 Integer Inquiry(大数相加)
Integer Inquiry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- hdu 1047 Integer Inquiry(高精度数)
Problem Description Oneof the first users of BIT's new supercomputer was Chip Diller. He extended hi ...
- 九度OJ 1119:Integer Inquiry(整数相加) (大数运算)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:679 解决:357 题目描述: One of the first users of BIT's new supercomputer was ...
- hdu 1047 Integer Inquiry(大数)
题意:整数大数加法 思路:大数模板 #include<iostream> #include<stdio.h> #include<stdlib.h> #include ...
- HDU 1047 Integer Inquiry 大数相加 string解法
本题就是大数相加,题目都不用看了. 只是注意的就是HDU的肯爹输出,好几次presentation error了. 还有个特殊情况,就是会有空数据的输入case. #include <stdio ...
- HDU 1047 Integer Inquiry( 高精度加法水 )
链接:传送门 思路:高精度水题 /************************************************************************* > File ...
- Poj 1503 Integer Inquiry
1.链接地址: http://poj.org/problem?id=1503 2.题目: Integer Inquiry Time Limit: 1000MS Memory Limit: 1000 ...
- Integer Inquiry【大数的加法举例】
Integer Inquiry Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 27730 Accepted: 10764 ...
随机推荐
- Visual Studio Online
删除Visual Studio Online的项目http://taslimi.me/how-to-delete-a-team-project-from-tfs-online-tfs.visualst ...
- mapreduce小结
(不断更新) MapReduce架构是一种分布式编程架构,它本质上是将任务划分,然后归并.它是以数据为中心的编程架构,相比与分布式计算和并行计算等,它更看重的是吞吐率.它处理的数据是PB级的数据,它并 ...
- JS小练习 留言功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PHP判断手机号码是否合法
<html> <head> <script language="JavaScript"> function checkMobile(input) ...
- UVa10025-The ? 1 ? 2 ? ... ? n = k problem
分析:因为数字之间只有加减变换,所以-k和k是一样的,都可以当成整数来考虑,只要找到最小的n满足sum=n*(n+1)/2>=k:且sum和k同奇同偶即可,做法是用二分查找,然后在就近查找 因为 ...
- 数据库SQL 多态
Sealed关键字:密封类 该类无法被继承 部分类: Namespace 命名空间 虚拟文件夹 Partial关键字 可以将一个类拆分成多个部分,分别放在多个文件里 多态: 1.编译多态 函数重载 2 ...
- java中时间的比较
进入要比较从库中取出的时间,期初使用比较date.getTime()的值,但是当时间的年月日都相同时,时分秒较早的getTime()值比时分秒较晚的getTime()的值要大,至今笔者还不知这是为什么 ...
- linux第11天 共享内存和信号量
今天主要学习了共享内存和信号量 在此之前,有个管道问题 ls | grep a 整句话的意思是将ls输出到管道的写端,而流通到另一端的读端,grep a则是从管道的读端读取相关数据,再做筛选 共享内存 ...
- android waiting for debugger
在Studio开发环境中,使用真机开发经常会出现waiting for debugger,卡死不动了,让人很崩溃啊,现在我就总结下几种解决方法,希望能帮到出现同样情况的朋友! 问题出现及解决办法: 多 ...
- c#经典俄罗斯方块 vs2012开发
把网上两个开源的俄罗斯方块,整合到一起了,开发环境vs2012+.net 4.0,有问题.建议可以加群沟通哦 复古的 c#写的一个俄罗斯方块小游戏,友好的人机交互,具体功能如下: 1.游戏分七个关卡, ...