armstrong number in cpp

#include <iostream>
#include <cmath>

int countDigits(int number) {
    int count = 0;
    while (number != 0) {
        number /= 10;
        ++count;
    }
    return count;
}

bool isArmstrong(int number) {
    int originalNumber, remainder, result = 0, n = 0;

    originalNumber = number;

    while (originalNumber != 0) {
        originalNumber /= 10;
        ++n;
    }

    originalNumber = number;

    while (originalNumber != 0) {
        remainder = originalNumber % 10;
        result += std::pow(remainder, n);
        originalNumber /= 10;
    }

    return (result == number);
}

int main() {
    int num;

    std::cout << "Enter an integer: ";
    std::cin >> num;

    if (isArmstrong(num))
        std::cout << num << " is an Armstrong number." << std::endl;
    else
        std::cout << num << " is not an Armstrong number." << std::endl;

    return 0;
}