Integer Inquiry hdoj 1047
2015-07-24 19:58
399 查看
Integer Inquiry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15216 Accepted Submission(s): 3909
[align=left]Problem Description[/align]
One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers.
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
[align=left]Input[/align]
The input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer characters in length, and will only contain digits (no VeryLongInteger will be negative).
The final input line will contain a single zero on a line by itself.
[align=left]Output[/align]
Your program should output the sum of the VeryLongIntegers given in the input.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
[align=left]Sample Input[/align]
1
123456789012345678901234567890
123456789012345678901234567890
123456789012345678901234567890
0
[align=left]Sample Output[/align]
370370367037037036703703703670/*
题意::
首先输入一个正整数,表示可以计算几组数,接下来是输入不大于100行的
字符串,直到输入的字符串的值为‘0’时,计算以上输入的字符串的和。
然后将其和输出。
解题思路::
这是个大数累加题,要用到大数加法。
首先定义一个字符数组(足够大,本题范围为0~100000)来存放连续输入的
字符串,然后用大数加法将各个位上的数累次相加。
但要注意输出格式:第一次输入与输出之间没有空格,其他的要加空格。
*/
#include<stdio.h>
#include<string.h>
#include<math.h>
int a[100001];
char s[100001];
int main(){
int t,n,m,i,l;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
memset(a,0,sizeof(a));
while(scanf("%s",s)&&s[0]!='0')
{
n=1;
l=strlen(s);
for(i=l-1;i>=0;i--)//基本大数相加算法模型
{
a
+=s[i]-'0';
a[n+1]+=a
/10;
a
%=10;
n++;
}
}
m=0;
for(i=1001;i>1;i--)
{
if(a[i]==0&&m==0)
continue;
else
{
m=1;
printf("%d",a[i]);
}
}
printf("%d\n",a[1]);//输出格式
if(t)
printf("\n");
}
}
return 0;
}
相关文章推荐
- C - Building a Space Station - poj 2031
- Unique Binary Search Trees II
- CodeForces#313 D. Equivalent Strings
- HDU 4069 Squiggly Sudoku
- IOS UIFont可选字体
- Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
- 最长公共子序列 (LCS,longest common subsequence problem) 动态规划
- LightOJ 1048 - Conquering Keokradong 【二分】
- Adjust color space Constrast,Brightness,Hue,Saturation in YCbCr format.
- HDU 5301 Buildings
- HDU 1047--Integer Inquiry 【大数】
- 黑马程序员——Java基础---GUI
- HDU 5297 Y sequence
- UITabBar和UINavigation碰到的几个问题 (系统颜色)
- 使用phpQuery实现批量文件处理
- Weka连接数据库出现No suitable driver found for jdbc:mysql://localhost/dbname
- 150723培训心得(queue)
- HDOJ Integer Inquiry (大数累加)
- HDU 1047 Integer Inquiry
- 给EasyUi的Form添加自动填充部分输入框的方法