判断101-200之间有多少个素数,并输出所有素数。
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
def t(start,end):
for num in range(start,end):
a = True
for i in range(2,num):
if num % i == 0:
a = False
if a:
yield num
for i in t(101,200):
print(i)
打印出所有的"水仙花数"
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
def test(start,end):
for num in range(start,end+1):
if num == sum([n**3 for n in [int(i) for i in str(num)]]):
yield num
for i in test(123,10000):
print(i)