这个很难,因为我无法在互联网上找到它。 请编写一个程序,在C ++中不要使用math.h库 在哪里你会显示从1到用户输入的范围内的所有阿姆斯特朗号码。
答案 0 :(得分:2)
不会给你完整的代码 - 使用后续的乘法来找到功率。其余的应该是直截了当的。
这里有一些代码,如果这是作业,你就无法使用,因为它会让你遇到麻烦:
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;
}