hdoj 1047 Integer Inquiry
2015-07-24 20:01
435 查看
Integer Inquiry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15221 Accepted Submission(s): 3912
[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
英语烂真心伤不起,愣是看不懂题目的意思,刚开始以为是首先输入一个整数,表示输入数据的组数
(我以为是每一组三个字符串)当整数为0时不作处理程序结束,结果提交上一直超时;后来看了舍友的题解才知道
此题的意思是:
输入一个整数代表可以测试数据组数,输入多组字符串,当字符串为0时输入结束,计算所有字符串(超长整数的和)
#include<stdio.h> #include<string.h> #define MAX 510 #define max(x,y)(x>y?x:y) char s1[MAX]; int a[MAX],b[MAX]; int main() { int n,m,j,i,s,t,l1,k,ok; int len; scanf("%d",&t); while(t--) { ok=0; memset(b,0,sizeof(b)); while(scanf("%s",s1)) { if(s1[0]=='0') break; ok++; memset(a,0,sizeof(a)); l1=strlen(s1); for(i=l1-1,j=0;i>=0;i--) { a[j]=s1[i]-'0'; j++; } for(i=0;i<MAX;i++) { b[i]+=a[i]; if(b[i]>=10) { b[i]-=10; b[i+1]++; } } } if(!ok) printf("0\n"); else { for(i=MAX-1;i>=0;i--) if(b[i]!=0) break; for(;i>=0;i--) printf("%d",b[i]); printf("\n"); } if(t) printf("\n"); } return 0; }
相关文章推荐
- Integer Inquiry hdoj 1047
- 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