水仙花数:
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd;
//循环所有三位数
for( num=100 ; num<1000 ; num++ )
{
//获取三位数字num百位上的数字
hd = num/100;
//获取三位数字num十位上的数字
td =(num-hd*100)/10 ;
//获取三位数字num个位上的数字
sd = num%10;
//水仙花数的条件
if( num==hd*hd*hd+td*td*td+sd*sd*sd )
{
printf("水仙花数字:%d\n", num);
}
}
return 0;
}
for i in range(100,1001):
s=str(i)
one=int(s[-1])
ten=int(s[-2])
hun=int(s[-3])
if i==one**3+ten**3+hun**3:
print(i)
for num in range(100,1000): #如果num在[100,1000)范围,就依次循环取出num的值,第一次取100,下一次取101....最后一次取999
bai = num // 100 # //取整符号,对100取整,得到百位上的数字
shi = num // 10 % 10 #得到十位上的数字 %取余符号
ge = num % 10 #得到个位上的数字
if(bai**3+shi**3+ge**3==num): #各位数字和等于num
print(num, end = ' ') #输出符合if条件的数字 end = ' '使得输出的数不换行,以空格隔开同行输出