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 Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
Output Specification:
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
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
// while(1){
scanf("%d%d", &a, &b);
int ans = a + b;
if(ans < 0){
printf("-");
ans = -ans;
}
if(ans < 1000){
printf("%d", ans);
}else{
string s;
stack <string> st;
while(ans > 0){
s += '0'+(ans%10);
ans/=10;
if(s.length() == 3){
st.push(s);
s="";
}
}
if(s!="") st.push(s);
while(!st.empty()){
string s = st.top();
st.pop();
int len = s.length();
for(int i = len - 1; i >= 0; --i) printf("%c", s[i]);
if(!st.empty()) printf(",");
}
}
// }
return 0;
}
#include<bits/stdc++.h>
using namespace std;
inline int mypow(int a, int b){
int ans = 1;
if(b > 0){
while(b){
ans *= a;
-- b;
}
}
else if(b < 0) ans = -1;
return ans;
}
int main(){
int a, b, c, cc;
cin >> a >> b;
c = a + b;
if(c < 0) cout<<"-";
c = abs(c);
cc = c;
int len = 0;
while(cc) cc = cc / 10, ++ len;
int lef = len % 3;
if(lef){
for(int i = 0; i < lef; ++ i){
cout << c / mypow(10, len - 1) % 10;
len--;
}
if(len != 0) cout<<",";
}
while(len){
for(int i = 0; i < 3; ++ i){
if(len <= 0) break;
cout << c / mypow(10, len - 1) % 10;
len--;
}
if(len != 0) cout<<",";
}
if(c == 0) cout<<0<<endl;
return 0;
}