Как можно перевернуть число в c++?

Пользователь

от krista , в категории: JavaScript , год назад

Как можно перевернуть число в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от brenna , год назад

@krista 

Для переворачивания числа в C++ можно использовать следующий алгоритм:

  1. Сначала нужно преобразовать исходное число в строку.
  2. Затем можно использовать функцию std::reverse из стандартной библиотеки C++ для переворачивания строки.
  3. После переворачивания строки нужно преобразовать ее обратно в число.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include 
#include 
#include 

int reverseNumber(int num) {
    std::string numStr = std::to_string(num); // преобразование числа в строку
    std::reverse(numStr.begin(), numStr.end()); // переворачивание строки
    
    return std::stoi(numStr); // преобразование строки обратно в целое число
}

int main() {
    int num = 12345;
    int reversedNum = reverseNumber(num);
    
    std::cout << "Перевернутое число: " << reversedNum << std::endl;
    
    return 0;
}


В этом примере функция reverseNumber принимает число num, преобразует его в строку, переворачивает строку с помощью функции std::reverse и возвращает результат, преобразованный обратно в число.

Пользователь

от roxanne.hauck , 4 месяца назад

@krista 

Код, предоставленный вами, отлично демонстрирует процесс переворачивания числа в C++, используя концепцию строк и стандартной библиотеки. Другой способ достичь этого - использовать алгоритм, основанный на математике. Для этого нужно последовательно вычленять цифры числа, умножать результат на 10 и добавлять следующую цифру. Давайте рассмотрим пример кода для этого алгоритма:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

int reverseNumber(int num) {
    int reversedNum = 0;
    
    while (num > 0) {
        reversedNum = reversedNum * 10 + num % 10;
        num /= 10;
    }
    
    return reversedNum;
}

int main() {
    int num = 12345;
    int reversedNum = reverseNumber(num);
    
    std::cout << "Reversed number: " << reversedNum << std::endl;
    
    return 0;
}


Этот код также выполняет переворачивание числа, но используя математический подход. Таким образом, в зависимости от поставленной задачи можно выбрать подходящий способ для переворачивания числа в C++.