HDOJ HDU 1047 Integer Inquiry

来源:互联网 发布:java sdk是什么 编辑:程序博客网 时间:2024/05/16 17:51

HDOJ 1047 Integer Inquiry

题目

点此查看 HDOJ 1047 Integer Inquiry

分类

大数 求和

题意

求 n 个数的 和 (n <= 100)
和 HDOJ 1002 Sum Problem 一样直接套用 字符相加函数 即可

代码

#include <iostream>#include <string>using namespace std;string add(string & a,string & b);int main(){    int t;    string s1,s2;    cin >> t;    while(t--)    {        cin >> s1;        if(s1 == "0")             cout << '0' << endl;        else{            while(cin >> s2)            {                if(s2 == "0")                    break;                s1 = add(s1,s2);            }            cout << s1 << endl;        }        if(t)            cout << endl;    }    return 0;}string add(string & a,string & b){//    cout << a << endl << b << endl;    string s;    int t,c = 0;    if(a.length() < b.length())        swap(a,b);    for(int i = b.length();i < a.length();i++)        b.insert(0,"0");    for(int i = 0;i < a.length();i++)        s += '0';    for(int i = a.length()-1;i >= 0;i--)    {        t = (a[i] - '0') + (b[i] - '0') + c;        s[i] = t % 10 + '0';        c = t / 10;    }    if(c)    {        string a;        a += ('0' + c);        s.insert(0,a);    }//    cout << s << endl;    return s;}