经过前两天的学习,我们已经基本能编写一些小型的Python程序,今天自己找了一些有趣的例子来练练手,例子来源为https://github.com/jackfrued/Python-100-Days和牛客网。
1、寻找水仙花数
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
下面给出相应的程序:
#寻找水仙花数
import numpy as np
shuixianhuanumber = []
for i in range(100,1000):
gewei = np.mod(i,10)
shiwei = np.mod(i//10,10)
baiwei = i//100
if gewei**3+shiwei**3+baiwei**3-i == 0:
shuixianhuanumber.append(i)
print('水仙花数有:',shuixianhuanumber)
2、寻找完美数
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
下面给出相应的程序: