Это больше о математике, чем что-либо еще.
Чтобы получить последнюю цифру целого числа, мы можем использовать по модулю:
z = abc....xyz % 10
Чтобы «удалить» эту цифру из числа, которое мы используем
abc...xy = abc...xyz / 10
(где/
обозначает целочисленное деление, то есть 34/10 == 3
).
Я думаю, это то, что вы уже знаете, как делать. Вместо того, чтобы углубляться в код, вы должны были сначала выполнить математику и для отсутствующей части.
Чтобы добавить цифру к целому числу, мы делаем
abc...xyz = (abc...xy * 10) + z
Только теперь у вас есть все необходимое для написания кода:
int main() {
int inp;
int outp = 0;
std::cin >> inp; // read_input
while(inp > 0) { // reverse
int digit = ... // get_digit
inp = ... // remove_digit
outp = ... // add_digit
}
std::cout << outp;
}
К сожалению, выне разрешается использовать функции. Один из следующих уроков должен заключаться в том, что функции намного лучше, чем комментарии, в именовании вещей и в том, чтобы сделать ваш код явным
int read_input();
int remove_digit(int x);
int add_digit(int x,int digit);
int reverse(int x);
int main() {
int inp = read_input();
std::cout << reverse(inp);
}