提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
首页 - 计算机软件能力认证考试系统
(1)整数的素数分解;(2)数组的相同数值的统计
PS:在遇到问题的时候还是要及时百度,光靠自己想会浪费很多时间,通过大量的练习,不断地复习也是一种学习思路。
q = int(input())
inq = [[i for i in map(int, input().split())]for j in range(q)]
for i in range(q):
zhengshu = inq[i][0]
temp = []
while zhengshu != 1:
for j in range(2, zhengshu+1):
if zhengshu % j == 0:
temp.append(j)
zhengshu = zhengshu//j
break
P = list(set(temp))
X = list(set(temp))
T = []
Length = len(P)
for m in range(Length):
t = temp.count(X[m])
if t< inq[i][1]:
P.remove(X[m])
elif t>=inq[i][1]:
T.append(t)
if P == [ ]:
P.append(1)
T.append(1)
out = 1
for l in range(len(T)):
out *= P[l]**T[l]
print(out)
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n>=i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
n = int(input("请输入一个数:"))
print(n,' = ',end="")
if n <= 0:
print("你输的数字小于零啦")
i=2
if n!=1:
while i!= n:
if n % i == 0:
print(i,end=' * ')
n = n // i
else:
i+=1
print(i,end='')
else:
print(n)