python(C)作业6 P110 2,4,12

1

编写一个函数判断一个数是否为素数,并通过调用该函数求出所有三位数的素数。

 代码:

import math     #导入math函数库
def panduan(num):   #自定义函数panduan()
    if num == 1:    #如果这个数为1,反之继续往下执行
        return True #则返回此数为素数,
    T = math.sqrt(num)  #T为这个数开根,T可能为浮点数
    for i in range(2, int(T + 1)):  #循环从2--(T+1)
        if num % i == 0:    #如果此数除以i为0
            return False    #则此数不是素数
    else:
        return True     #反之返回为素数
j = int(input('请输入一个数:'))   #输入一个数
print(panduan(j))   #判断是否为素数

k = []      #定义一个空列表来装三位数的素数
for s in range(100,1000):   #循环100-999的数
    if panduan(s) == True:  #判断是否为素数
        k.append(s)         #若是素数增加到k列表
print(k)    #输出k列表

2

编写一个函数multi(),参数个数不限,返回所有参数的乘积。

 

代码:

def multi(*p):  #自定义函数,*p为不确定有多少输入值
    i = 1
    for j in p:
        i *= j
    return i
print(multi(8,9,6)) #可自己改multi()中的值

3

编写一个函数,功能是求两个正整数m和n的最小公倍数。

代码:

 

def gys(a,b):   #自定义函数
    if a>b:     #如果输入的第一个数大于第二个数
        f1 = b  #将第一个数赋值给f1
    else:
        f1 = a  #反之将第二个数赋值给f1
    for n in range(1,f1+1): #循环1-f1,n为1-f1中的一个数
        if((a % n == 0) and (b % n == 0)):  #判断当某个值能被a,b同时整除
            m = n   #将这个值赋值给m
    return m    #返回m值
i = int(input('请输入第一个数:'))
j = int(input('请输入第二个数:'))
print('最小公倍数为:')
print((i*j)//gys(i,j))  #最小公倍数公式

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重工Ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值