# ch3 P59_3# *实现101-201输出所有的素数*import math
j =0for m inrange(101,201):
k =int(math.sqrt(m))for i inrange(2, k +2):if m % i ==0:breakif i == k +1:print(m, end =' ')
j +=1if j %10==0:print()# ch3 P60_4# *输出三角形*
n =int(input("请输入图形的行数:"))for i inrange(0, n):for j inrange(0,10- i):print(" ", end =" ")for j inrange(0,2* i +1):print("*", end =" ")print("\n")# ch3 P60_5# * 水仙花数是一个三位数,三位数各位的立方之和等于三位数本身 *import math # 调用模块,访问math模块中*print("三位数中所有的水仙花数为:")for i inrange(100,1000):
n1 = i //100# //地板除法,求小于a与b的商的最大整数
n2 =(i %100)//10
n3 = i %10if(math.pow(n1,3)+ math.pow(n2,3)+ math.pow(n3,3)== i):# pow(x,y)返回x的y次幂的值print(i, end=" ")# ch3 P60_6# * 如果一个数恰好等于它的真因子之和,则称该数为“完全数”。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。*# 找出1~1000之间所有的完数print("1~1000之间所有的完数有,其因子为:")for n inrange(1,1001):
total =0
j =0
factors =[]for i inrange(1, n):if(n % i ==0):# 找出n的所有约数并且出去它本身
factors.append(i)# 存入数组中
total += i
if(total == n):# 完全数的要求是所有的真约数之和为n本身print("{0}:{1}".format(n, factors))# ch3 P60_7# * 求任意两个整数的最大公约数 *
m =int(input(