HDOJ 1047 Integer Inquiry
2014-02-14 12:51
288 查看
原题链接
注意只输入0的时候直接输出0;
附ac代码:
#include <stdio.h>
#include <string.h>
#define MAX 100 + 5
char s[MAX], buf[MAX];
void Compu(int len){
//s[MAX - 1]为个位
int jin, i, j, t;
for(jin = 0, i = MAX - 2, j = len - 1; j >= 0; --j, --i){
t = buf[j] - '0' + s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
while(jin){ //处理类似999+1的情况
t = s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
}
int main(){
int t, len, i;
scanf("%d", &t);
while(t--){
memset(s, '0', sizeof(s));
s[MAX - 1] = '\0';
while(scanf("%s", buf) == 1){
len = strlen(buf);
if(buf[0] == '0' && len == 1) break;
Compu(len);
}
for(i = 0; s[i] == '0'; ++i)
;
if(i == MAX - 1) putchar('0');
while(i < MAX - 1)
putchar(s[i++]);
if(t) puts("\n");
else puts("");
}
return 0;
}
注意只输入0的时候直接输出0;
附ac代码:
#include <stdio.h>
#include <string.h>
#define MAX 100 + 5
char s[MAX], buf[MAX];
void Compu(int len){
//s[MAX - 1]为个位
int jin, i, j, t;
for(jin = 0, i = MAX - 2, j = len - 1; j >= 0; --j, --i){
t = buf[j] - '0' + s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
while(jin){ //处理类似999+1的情况
t = s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
}
int main(){
int t, len, i;
scanf("%d", &t);
while(t--){
memset(s, '0', sizeof(s));
s[MAX - 1] = '\0';
while(scanf("%s", buf) == 1){
len = strlen(buf);
if(buf[0] == '0' && len == 1) break;
Compu(len);
}
for(i = 0; s[i] == '0'; ++i)
;
if(i == MAX - 1) putchar('0');
while(i < MAX - 1)
putchar(s[i++]);
if(t) puts("\n");
else puts("");
}
return 0;
}
相关文章推荐
- ACM HDOJ 1047 (Integer Inquiry)
- HDOJ 1047 Integer Inquiry
- HDOJ 1047 Integer Inquiry
- HDOJ 1047 Integer Inquiry
- 【大数问题】 HDOJ 1047 Integer Inquiry
- hdoj1047 Integer Inquiry(大整数的相加)
- hdoj 1047 Integer Inquiry 【多个大数相加】
- 大数问题之 Integer Inquiry hdoj 1047
- HDOJ 1047 Integer Inquiry(多个大数相加)
- HDOJ 1047 Integer Inquiry(大数)
- HDOJ 1047 Integer Inquiry
- POJ 1053 Integer Inquiry && HDOJ 1047 Integer Inquiry (大数加法)
- hdoj 1047 Integer Inquiry(几个大数连续加)
- HDOJ1047(Integer Inquiry)
- hdoj 1047 Integer Inquiry
- HDU 1047 Integer Inquiry 多个大数相加
- HDU 1047 - Integer Inquiry
- HDU 1047 Integer Inquiry (多个大数相加)
- hdu 1047 Integer Inquiry 大数加法
- HDU 1047 Integer Inquiry 大数相加 string解法