题目
计算 a+b 并以标准格式输出总和——也就是说,从最低位开始每隔三位数加进一个逗号(千位分隔符),如果结果少于四位则不需添加。
输入格式
共一行,包含两个整数 a 和 b。
输出格式
共一行,以标准格式输出 a+b 的和。
数据范围
−106≤a,b≤106
输入样例:
-1000000 9
输出样例:
-999,991

解法:模拟

时间复杂度O(n),空间复杂度O(1)

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main() {
  5. int a, b;
  6. cin >> a >> b;
  7. string s = to_string(a + b);
  8. string ans;
  9. for (int i = s.size() - 1, j = 1; i >= 0; i--, j++) {
  10. ans = s[i] + ans;
  11. if (j % 3 == 0 && i && s[i - 1] != '-')
  12. ans = "," + ans;
  13. }
  14. cout << ans;
  15. }