-
题目描述:
-
给定a和n,计算a+aa+aaa+a...a(n个a)的和。
-
输入:
-
测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。
-
输出:
-
对于每组输入,请输出结果。
-
样例输入:
-
1 10
-
样例输出:
-
1234567900
-
来源:
- 2010年哈尔滨工业大学计算机研究生机试真题
-
#include <iostream> #include <string> using namespace std; void strNumAdd(string &strSum, string &strNum) { for (int i = 0; i < strNum.size(); ++i) { strSum[i] += strNum[i] - '0'; strSum[i + 1] += (strSum[i] - '0') / 10; strSum[i] = (strSum[i] - '0') % 10 + '0'; } } int main() { char a; int n; while (cin >> a >> n) { string strSum(101,'0'); for (int i = 1; i <= n; ++i) { string strNum(i, a); strNumAdd(strSum, strNum); } int j = strSum.size() - 1; while (strSum[j] == '0') { --j; } while (j >= 0) { cout << strSum[j]; --j; } cout << endl; } return 0; }
-