백준 2908 - 상수
문제
먼저, 같지 않은 세 자리 수 두개를 입력받는다. 이후, 입력받은 숫자를 반대로 돌린 후, 더 큰 값을 출력하는 문제이다.
문제에서 세 자리 수만 입력받는다고 했으므로, 수의 길이를 확인할 필요 없이 세 자리 수 경우만을 생각하면 되기 때문에 쉽게 해결할 수 있다.
숫자를 돌리는 식
C언어의 경우에는 / 연산자는 몫만 구하고, % 연산자는 나머지만 구한다.
따라서, 위 그림과 같은 식을 통해 숫자를 돌릴 수 있다.
문제 해결 코드
#include <stdio.h>
int reverse(int n)
{
int result;
result = n / 100 + ((n / 10) % 10) * 10 + ((n % 100) % 10) * 100;
return result;
}
int main()
{
int n1, n2;
scanf("%d %d", &n1, &n2);
n1 = reverse(n1);
n2 = reverse(n2);
if (n1 < n2)
printf("%d", n2);
else
printf("%d", n1);
return 0;
}
실행 결과