CCF-CSP真题训练第二题-《202312因子化简》-python

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1.真题来源
  • 2.重点
  • 3.运行结果
  • 4.Python满分运行代码
  • 5.学习——整数的素数分解
    • 5.1步骤:
    • 5.2代码如下:


1.真题来源

首页 - 计算机软件能力认证考试系统

2.重点

(1)整数的素数分解;(2)数组的相同数值的统计

3.运行结果

在这里插入图片描述
PS:在遇到问题的时候还是要及时百度,光靠自己想会浪费很多时间,通过大量的练习,不断地复习也是一种学习思路。

4.Python满分运行代码

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)

5.学习——整数的素数分解

5.1步骤:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n>=i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数n,重复执行第一步。

(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。

5.2代码如下:

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)

你可能感兴趣的:(python,开发语言)