《Python程序设计与算法基础教程》第三章上机实践

《Python程序设计与算法基础教程》——江红 余青松

第三章_上机实践

# ch3 P59_3
# *实现101-201输出所有的素数*
import math
j = 0

for m in range(101, 201):
    k = int(math.sqrt(m))
    for i in range(2, k + 2):
        if m % i == 0:
            break
    if i == k + 1:
        print(m, end = ' ' )
        j += 1
        if j % 10 == 0:
            print()

# ch3 P60_4
# *输出三角形*
n = int(input("请输入图形的行数:"))
for i in range(0, n):
    for j in range(0, 10- i):
        print(" ", end = " ")
    for j in range(0, 2 * i + 1):
        print("*", end = " ")
    print("\n")

# ch3 P60_5
# * 水仙花数是一个三位数,三位数各位的立方之和等于三位数本身 *
import math # 调用模块,访问math模块中*
print("三位数中所有的水仙花数为:")
for i in range(100, 1000):
    n1 = i // 100  # //地板除法,求小于a与b的商的最大整数
    n2 = (i % 100)//10
    n3 = i % 10
    if (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 in range(1, 1001):
    total = 0
    j = 0
    factors = []
    for i in range(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(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值