Calculate a + b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).
Input
Each input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.
Output
For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.
Sample Input-1000000 9
Sample Output
-999,991
思路
条件:①-1000000 <= a, b <= 1000000 ②计算a+b ③标准格式输出
刚学python的时候觉得这道题似乎用python更容易解决,后来看了《算法笔记》和柳神的算法也都学了下方法。
python版:主要利用python的format()函数
lst = []
str = input()
# 空格分隔数字
lst = str.split(" ")
sum = (int)(lst[0])+(int)(lst[1])
print("{:,}".format(sum))
C++版:将a+b转化为字符串,利用to_sting()将int->string
#include "iostream"
#include "string"
using namespace std;
int num[10];
int main(){
int a,b;//输入a,b
cin>>a>>b;
int sum=a+b;
//判断正负
if(sum<0){
cout<<"-";
sum*=-1;//若是负数,输出负号,将sum转换成正数
}
string res=to_string(sum);//将结果转成string类型
int c=0;
for(int i=res.length()-1;i>=0;i--){
num[c++]=res[i]-'0';
}//将结果的字符串从低位开始输入num数组
for(int i=c-1;i>=0;i--){
cout<<num[i];
if(i>0&&i%3==0)cout<<",";
}
return 0;
}