python(C)作业6 P110 2,4,12
python 素数、最小公倍数、多个数之和
·
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)) #最小公倍数公式
更多推荐
所有评论(0)