Это сложно, потому что я не могу найти его в интернете.
Пожалуйста, напишите программу, в которой вы не будете использовать библиотеку math.h в C ++
где вы бы отображали все числа Армстронга от 1 до диапазона, введенного пользователем.
Не дам вам полный код — используйте последующие умножения, чтобы найти силу. Остальное должно быть простым.
Вот некоторый код, который, если это домашнее задание, вы не можете использовать, так как это доставит вам неприятности:
bool isArmstrongNumber(int x)
{
//some magic happens here
}
template<int x>
struct armstrong_number
{
armstrong_number()
{
if ( isArmstrongNumber(x) )
std::cout << x << endl;
armstrong_number<x-1> y;
}
};
template<>
struct armstrong_number<0>
{
armstrong_number()
{
std::cout << 0 << endl;
}
};
int main()
{
armstrong_number<999> x;
}
Других решений пока нет …