题目
计算 a+b 并以标准格式输出总和——也就是说,从最低位开始每隔三位数加进一个逗号(千位分隔符),如果结果少于四位则不需添加。
输入格式
共一行,包含两个整数 a 和 b。
输出格式
共一行,以标准格式输出 a+b 的和。
数据范围
−106≤a,b≤106
输入样例:
-1000000 9
输出样例:
-999,991
解法:模拟
时间复杂度O(n),空间复杂度O(1)
#include <iostream>
#include <string>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
string s = to_string(a + b);
string ans;
for (int i = s.size() - 1, j = 1; i >= 0; i--, j++) {
ans = s[i] + ans;
if (j % 3 == 0 && i && s[i - 1] != '-')
ans = "," + ans;
}
cout << ans;
}