Как изолировать цифры в большом числе с помощью C++

Чтобы изолировать большое количество цифр с помощью C++, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование по модулю и деления
Один из распространенных методов — многократное деление числа на 10 и извлечение остатка (с использованием оператора по модулю «%») для получения самой правой цифры. После извлечения цифры вы можете обновить число, разделив его на 10 (используя оператор деления «/») и продолжая этот процесс, пока все цифры не будут изолированы.

#include <iostream>
void isolateDigits(int number) {
    while (number != 0) {
        int digit = number % 10;
        std::cout << digit << " ";
        number /= 10;
    }
}
int main() {
    int number = 1234567890;
    isolateDigits(number);
    return 0;
}

Выход:

0 9 8 7 6 5 4 3 2 1

Метод 2: преобразование в строку
Другой метод — преобразовать число в строку, а затем перебрать каждый символ для извлечения цифр по отдельности. Это можно сделать с помощью функции std::to_string().

#include <iostream>
#include <string>
void isolateDigits(int number) {
    std::string numberString = std::to_string(number);
    for (char digit : numberString) {
        std::cout << digit << " ";
    }
}
int main() {
    int number = 1234567890;
    isolateDigits(number);
    return 0;
}

Выход:

1 2 3 4 5 6 7 8 9 0

Метод 3: рекурсивный подход
Вы также можете использовать рекурсивную функцию для изоляции цифр. Функция может извлечь самую правую цифру, взяв по модулю 10, а затем выполнить рекурсивный вызов с числом, разделенным на 10.

#include <iostream>
void isolateDigits(int number) {
    if (number / 10 != 0) {
        isolateDigits(number / 10);
    }
    std::cout << number % 10 << " ";
}
int main() {
    int number = 1234567890;
    isolateDigits(number);
    return 0;
}

Выход:

1 2 3 4 5 6 7 8 9 0