举一反三学python(6) | 您所在的位置:网站首页 › 水仙花数代码php › 举一反三学python(6) |
1、什么是水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153) 2、代码实现:# 方法1: num3 = [] # 定义一个空列表 for b in range(1,10): # 循环构建数位上的数,百位上1-9 for s in range(10): # 十位上0-9 for g in range(10): # 个位上0-9 num1 = b*100 + s*10 + g # 得出三位数 num2 = b**3 + s**3 + pow(g,3) # 用条件计算值 if num1 == num2: # 条件判断 num3.append(num1) # 符合条件的添加到空列表中 print('方法1——水仙花数有:',num3) # 打印输出 # 方法2: num4 = [] for i in range(100,1000): # 循环构建3位,100-999 num = str(i) if int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == i: # 转换对象类型计算,并条件判断 num4.append(i) print('方法2——水仙花数有:',num4) # 方法3: num5 = [] for num in range(100,1000): g = num % 10 # 取余,得到个位数字 s = num // 10 % 10 # 整除取余,得到十位数字 b = num // 100 # 整除,得到百位数字 if num == g**3 + s**3 + b**3: num5.append(num) print('方法3——水仙花数有:',num5) 三、运行结果: 四、知识延伸四位的四叶玫瑰数共有3个:1634,8208,9474; 五位的五角星数共有3个:54748,92727,93084; 六位的六合数只有1个:548834; 七位的北斗七星数共有4个:1741725,4210818,9800817,9926315; 八位的八仙数共有3个:24678050,24678051,88593477 |
CopyRight 2018-2019 实验室设备网 版权所有 |