洛谷P1601 题解

传送门
这道题其实就是模板题,套高精度模板就好了
代码:

#include
using namespace std;
int main()
{
	char a1[1000],b1[1000];//因为输的数大,所以用char
	int a[1000],b[1000],c[1000]={0};//输入后转换
	cin >> a1 >> b1;
	int s1=strlen(a1);
	int s2=strlen(b1);
	int s3;
	//转换开始
	for(int i=0;i<s1;i++)
	{
		a[s1-i]=a1[i]-'0';
	}
	for(int i=0;i<s2;i++)
	{
		b[s2-i]=b1[i]-'0';
	}
	//开始计算
	s3=1;
	int x=0;
	while(s3<=s1 || s3<=s2)
	{
		c[s3]=a[s3]+b[s3]+x+c[s3];
		x=c[s3]/10;
		c[s3]=c[s3]%10;
		s3++;
	}
	c[s3]=x;//有可能有进位
	if(c[s3]==0)
	{
		s3--;//退位
	}
	for(int i=s3;i>=1;i--)
	{
		cout << c[i];//因为前面倒着载入,所以倒着输出
	}
	return 0;
}

你可能感兴趣的:(c++,算法)