코딩로그
[백준/BOJ/C++] 1357번 뒤집힌 덧셈 본문
[문제]
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다.
두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오
[입력]
첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다.
[출력]
첫째 줄에 문제의 정답을 출력한다.
[Source Code]
#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
int number(int n){
int count = 0;
while(n >= 10){
n /= 10;
count++;
}
return ++count;
}
int reverse(int a){
int count = number(a);
double result = 0;
for(double i = count - 1; i >= 0; i--){
result += (a % 10) * pow(10, i);
a /= 10;
}
return result;
}
int main(){
int a, b;
cin >> a >> b;
int result = reverse(a) + reverse(b);
cout << reverse(result);
}
[결과 화면]
'YJ > C++' 카테고리의 다른 글
[백준/BOJ/C++] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2021.10.14 |
---|---|
[백준/BOJ/C++] 5576번 콘테스트 (0) | 2021.10.14 |
[백준/BOJ/C++] 10773번 제로 (0) | 2021.10.14 |
[백준/BOJ/C++] 9076번 점수 집계 (0) | 2021.10.13 |
[백준/BOJ/C++] 2693번 N번째 큰 수 (0) | 2021.10.13 |