分解质数
#将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
#定义一个方法判断这个数是否是素数
def isPrime(num):
flag = 0
if(num == 2):
return True
else:
for i in range(2 , num // 2 +1):
if num % i == 0:
flag = 1
break
if flag == 0:
return True
else:
return False
#定义num 用于接收输入的数字
#定义result 用于接收分解的质因子
num = int(input("请输入一个数字:"))
result = []
#首先判断是否是质因子,如果是直接输出结果
if isPrime(num):
result = [1,num]
else:
for i in range(2,num // 2+1):
#只对质数求余数
if isPrime(i):
#对同一个质数反复求余,直到商对于此质数不能整除(会将每轮求余数的商赋值给num)
while (num % i == 0):
num = num // i
result.append(i)
if isPrime(num):
result.append(num)
break
print(result)
结果:
请输入一个数字:1800
[2, 2, 2, 3, 3, 5, 5]
桃子数量
'''
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少
我们假设第n+1的桃子数量为i.那么第n天的桃子数量则为:(i+1)*2,因此需要循环9次就可以得到桃子总数
'''
num = 1
for i in range(1,10):
num = (num+1)*2
print(num)
结果:
1534
矩阵
'''
题目:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:
X = [[12,7,3],
[4,5,6],
[7,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
'''
X = [[12, 7, 3],
[4, 5, 6],
[7, 8, 9],]
Y = [[5, 8, 1],
[6, 7, 3],
[4, 5, 9]]
temp = []
Z = []
for i in range(0,len(X)):
temp = []
for j in range(0,len(X[i])):
temp.append(X[i][j]+Y[i][j])
Z.append(temp)
print(Z)
结果:
[[17, 15, 4], [10, 12, 9], [11, 13, 18]]
题目来源链接:https://fishc.com.cn/forum.php?mod=viewthread&tid=84762&ctid=588