POJ 1503 Integer Inquiry

原创 2012年03月29日 21:58:01

题目:

    大整数加法,每个整数至多包含100个数字,最多100个整数相加,计算并输出结果。

输入:

     最多输入100行数据,每行输入一个正整数,输入0结束输入。

输出:

    输出所有正整数累加的结果。

解题思路:

    大整数相加,采用数组完成,每个数组保存一位数字。100个包含100位数字的大数相加,结果最多有103位,所以输入数组长度为100,结果数组长度为103。

    大数保存到数组中时需要反转,使得大数的最低位与数组下标为0的位置对应,如大数12345保存到数组中为[5,4,3,2,1]。累加时从最低位开始累加,累加时要注意加上低位的进位,每累加一位时需要计算该位向高位的进位,使每位保存的数字小于10。所有大数累加完毕后,从大数高位开始输出计算结果。

代码:

#include<stdio.h>
#include<string.h>
int main()
{
	char sum[103]={0};
	char s[101];
	int i,j,len,c;
	scanf("%s", s);
	while(1)
	{
		//结束条件 
		if(s[0]=='0' && strlen(s)==1) break;
		
		len = strlen(s);
		c=0;
		//将本次输入 累加进结果中 
		for(i=len-1,j=0; i>=0; i--,j++)
		{
			sum[j] += s[i]-'0' + c;
			c = sum[j]/10;
			sum[j]=sum[j]%10;	
		}
		//处理累加结束后遗留的进位 
		while(c>0)
		{
			sum[j]+=c;
			c=sum[j]/10;
			sum[j]=sum[j]%10;
			j++;
		}

		scanf("%s", s);
	}
	i=102;
	//去掉前导0 
	while(sum[i]==0) i--;
	//打印结果 
	if(i<0) printf("%d\n",0);
	else
	{
	 while(i>=0) printf("%d", sum[i--]);
	 printf("\n");
    }
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

POJ1503-Integer Inquiry

转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299062368 提示:就是多个大数相加的问题= =       //Mem...

poj1503 Integer Inquiry (大数相加)

C - Integer Inquiry Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:10...

poj1503 大整数加法

题目:     大整数加法,每个整数至多包含100个数字,最多100个整数相加,计算并输出结果。 输入:      最多输入100行数据,每行输入一个正整数,输入0结束输入。 输出:    ...

大数相加 poj1503

#include #include using namespace std; int main() { int a[111]; char s[110]; int len,i,j; ...

POJ1503-Integer Inquiry

POJ 1503 Integer Inquiry

题目描述: 输入一组以0结尾的超级大数,输出这些超级大数相加的结果。 思路: 题目较为简单,但是如果直接利用数值类型存储组内数据是行不通的,因此利用字符串存储输入数据,计算结果以字符串输出。 ...

POJ 1503 Integer Inquiry 简单大数相加

DescriptionOne of the first users of BIT’s new supercomputer was Chip Diller. He extended his explor...

POJ-1503 Integer Inquiry-多个大数相加

Integer Inquiry Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31808   Accepted:...

POJ 1503 Integer Inquiry(高精度整数)

原题地址http://poj.org/problem?id=1503 题意:对输入的所有大整数求和。 解题思路本题是一道涉及高精度整数的水题(超出int/long long int范围的整数),但...

POJ1503_Integer Inquiry

Integer Inquiry http://poj.org/problem?id=1503 Time Limit: 1000MS   Memory Limit: 10000K To...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)