PROBLEM 66
Medium

Swap Middle Digits

Programming Basics · C++

</>
STATUS Not solved

TASK

Problem

#66

Given a four-digit non-negative integer `n = abcd`, swap the two middle digits and print `acbd` as an integer.

EXAMPLE

Example

Input
1234
Output
1324

LIMITS

Constraints

1000 ≤ n ≤ 9999.
📖
LEARN Theory for this problem
+

Repeated division by powers of 10 and `% 10` isolate decimal digits without converting the number to a string.

Connection to “Swap Middle Digits”: here, integer `/` and `%` provide the quotient and remainder, which is useful for digit extraction and cyclic arithmetic.

💡
NEED HELP? Hints
+

['Extract the digits first, then combine or compare them.', 'After solving “Swap Middle Digits”, verify the algorithm on your own small example and on an allowed boundary case. Print only the required result with no extra text.']

ANSWER Solution
+
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int n;
    cin >> n;
    cout << (n / 1000) * 1000 + ((n / 10) % 10) * 100 + ((n / 100) % 10) * 10 + n % 10 << '\n';
    return 0;
}