#水仙花数
水仙花数:3位数,百位、十位、各位的立方和等于本身。

python
版本1

sum1 = 0
for a in range(1,10):
    for b in range(10):
        for c in range(10):
            sum1= a*100+b*10+c*1
            if sum1<1000:
                if sum1 ==a**3 + b**3+c**3:
                    print(sum1)

版本2
单斜杠(/)表示除法,且不管除数和被除数是不是整数,最后结果都是float类型。
例如:5/2=2.5
双斜杠(//)表示地板除,即先做除法(/),然后向下取整(floor)。至少有一方是float型时,结果为float型;两个数都是int型时,结果为int型。
例如:7//2=3

def FlowersNumer():
    hundreds,decade,units_digit,remainder =0,0,0,0
    for i in range(100,1000):
        hundreds =i//100
        # remainder = i%100
        decade =(i%100)//10
        units_digit = i%10
        nums = hundreds**3+decade**3+units_digit**3
        if nums ==i:
            print("水仙花数:",i)
if __name__ =='__main__':
    FlowersNumer()

C语言版本

#include <stdio.h>
int main()
{
	int hun, ten, ind, n;
	printf("result is:");
	for (n = 100; n < 1000; n++)  /*整数的取值范围*/
	{
		hun = n / 100;
		ten = (n - hun * 100) / 10;
		ind = n % 10;
		if (n == hun * hun * hun + ten * ten * ten + ind * ind * ind)  /*各位上的立方和是否与原数n相等*/
			printf("%d  ", n);
	}
	printf("\n");

	return 0;
}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐