POJ 1503 解题报告

来源:互联网 发布:js登录清除cookie 编辑:程序博客网 时间:2024/06/11 08:35

这道题就是一道大整数加法题。

1503Accepted224K0MSC++1055B

/* ID: thestor1 LANG: C++ TASK: poj1503 */#include <iostream>#include <fstream>#include <cmath>#include <cstdio>#include <cstring>#include <limits>#include <string>#include <vector>#include <list>#include <set>#include <map>#include <queue>#include <stack>#include <algorithm>#include <cassert>using namespace std;void add(string &sum, string &nums){int carry = 0, s, i, j;for (i = sum.size() - 1, j = nums.size() - 1; j >= 0; --i, --j){s = sum[i] - '0' + nums[j] - '0' + carry;sum[i] = '0' + (s % 10);carry = s / 10;}assert(i >= 0);while (carry){s = sum[i] - '0' + carry;sum[i] = '0' + (s % 10);carry = s / 10;i--;}assert (i >= 0);}int main(){string line;string sum(103, '0');while (cin >> line && line != "0"){add(sum, line);}int left = 0;while (left < sum.size() && sum[left] == '0'){left++;}while (left < sum.size()){printf("%c", sum[left]);left++;}printf("\n");return 0;  }


0 0
原创粉丝点击