试卷 青少年软件编程(python四级)等级考试试卷-编程题(2024年3月)
青少年软件编程(python四级)等级考试试卷-编程题(2024年3月)
编程题
第 1 题    问答题

数的分解

给出一个正整数 a,要求分解成若干个正整数的乘积,即 a=a1×a2×a3×... ×an,并且 1<a1≤a2≤a3≤...≤an,问这样分解的种类有多少。注意到 a=a 也是一种分解。

例如,8 可以分解成 8=2*2*2,8=2*4,8=8 总共 3 种。

代码如下,完善划线处的代码:

def fun(x, y=2):

    if x == 1:

        global ans

       

    for i in range(y, x+1):

        if :

            fun(x//i,i)

lst = [2, 8, 9, 20] #测试数据

for i in lst:

    ans = 0

   

    print(ans)

程序运行结果如下:

1

3

2

4

第 2 题    问答题

购物组合

小明单位发了 100 元的购物卡,小明到超市买三类洗化用品:洗发水(15 元)、香皂(2 元)、牙刷(5 元)。要把 100 元正好花掉,可有哪些购买组合?

def gouwu(money):

    for i in range(0,money//15+1):

        for j in range(0,money//2+1):

            for k in range(0, ):

                if :

                    print('可选择的购买组合:\t 购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format( ))

gouwu(100)

第 3 题    问答题

回文素数

回文素数是指一个不小于 11 的自然数 n 从左向右和从右向左读,其结果值相同且是素数,即称 n 为回文素数。一种求解的方法是先判断一个自然数是否为回文数,再判断它是否为素数。如果两个判断都成立,则该自然数是回文素数。请补全代码,找出自然数 1000 以内的所有回文素数。

#判断是否为素数

def  (n):

    for i in range(2,n):

        if  :

            break

    else:

        return True

#判断是否为回文数

def HuiWenShu(n):

    n=str(n)

    if n==  :

        return True

    else:

        return False

for i in range(11,1001):

    if ZhiShu(i)==True  :

        print('{}是回文素数!'.format(i))

答题卡
编程题
1 2 3
题目总数:3
总分数:30
时间:不限时
QQ
公众号
客服
扫一扫