输出所有的“水仙花数”所谓“水仙花数”是指一个3位数,其个位数字的立方之和
等于该数本身,例如,153是一水仙花数,应为153=1的3次方(1的立方)+5的3次方(5的立方)+3的3次方(3的立方)。
输出所有的“水仙花数”所谓“水仙花数”是指一个3位数,其个位数字的立方之和
等于该数本身,例如,153是一水仙花数,应为153=1的3次方(1的立方)+5的3次方(5的立方)+3的3次方(3的立方)。
水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身.
所以n位数的水仙花数就是将其每一位的n次方相加.看是否等于其本身.
三位的水仙花数共有4个:153,370,371,407;
程序如下:
#include<iostream>
using namespace std;
int main()
{
int bit1,bit2,bit3;
for(int i=100;i<1000;++i)
{
bit1=i/100; //取百位数
bit2=(i/10)%10; //取十位数
bit3=i%10; //取个位数
if(i == bit1*bit1*bit1 + bit2*bit2*bit2 + bit3*bit3*bit3 ) //将各个数的立方相加看是否等于其本身.
{
cout<<i<<endl;
}
}
return 0;
}
附图: