hdu1047

Posted 王坤1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu1047相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<string>
#include<iostream>
using namespace std;

//高精度加法
//只能是两个正数相加
string add(string str1,string str2)//高精度加法
{
string str;

int len1=str1.length();
int len2=str2.length();
//前面补0,弄成长度相同
if(len1<len2)
{
for(int i=1;i<=len2-len1;i++)
str1="0"+str1;
}
else
{
for(int i=1;i<=len1-len2;i++)
str2="0"+str2;
}
len1=str1.length();
int cf=0;
int temp;
for(int i=len1-1;i>=0;i--)
{
temp=str1[i]-‘0‘+str2[i]-‘0‘+cf;
cf=temp/10;
temp%=10;
str=char(temp+‘0‘)+str;
}
if(cf!=0) str=char(cf+‘0‘)+str;
return str;
}


int main()
{
int T;
scanf("%d",&T);
while(T--)
{
string sum="0";
string str1;
while(cin>>str1)
{
if(str1=="0")break;
sum=add(sum,str1);
}
cout<<sum<<endl;
if(T>0)cout<<endl;
}
return 0;

}

以上是关于hdu1047的主要内容,如果未能解决你的问题,请参考以下文章

hdu1047

HDU1047(多个大数相加)

HDU 1047 [Integer Inquiry] 高精度 格式

(大数 string) Integer Inquiry hdu1047

HDU 1047 Integer Inquiry 大数相加 string解法

hdu 2256 Problem of Precision