«

蓝桥杯_第二周训练题

时间:2023-10-27 15:14     作者:诺恒     分类: 考试


1. 水仙花

描述

判断给定的三位数是否是 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=13+53+33

输入描述

输入一个整数。

输出描述

是水仙花数,输出"YES",否则输出"NO"(不包括引号)

用例输入 1 用例输出 1
123 NO

提示

是水仙花数,输出"YES",否则输出"NO"(不包括引号)

n = input()

m = 0;
for i in n:
    m += int(i)**3

title = "NO"
if int(n) == m :
    title = "YES"

print(title)

2. LQ1123 被7整除

描述

输入一个正整数N(N<100),输出1到N(包含1和N)之间所有可以被7整除的正整数,且输出的正整数之间以一个空格隔开。

输入描述

输入一个正整数N(N<100)。

输出描述

输出可以被7整除的正整数,且输出的正整数之间以一个空格隔开。

用例输入 1 用例输出 1
15 7 14
n = input()

m = "";
for i in range(1,(int(n)+1)):
    if i%7==0:  
        m += str(i) + " "

print(m)

3. LQ1161 判断偶数

描述

输入两个不相等的四位正整数N(1000<=N<=9999)和M(1000<=M<=9999),其中N<M,中间以一个空格隔开,输出N与M之间(包含N和M)所有的偶数且整数之间以一个空格隔开。

输入描述

在一行输入两个不相等的四位正整数N和M(N和M之间以一个空格隔开)。

输出描述

输出N与M之间(包含N和M)所有满足要求的正整数且正数之间以一个空格隔开。

用例输入 1 用例输出 1
4000 4008 4000 4002 4004 4006 4008

提示

print(end=" “)修改print中的end参数可以将print默认的换行改为空格。
默认情况下print中的end参数的值为”\n"即print(end=”\n")

n = input()

n1 = int(n.split(" ")[0])
n2 = int(n.split(" ")[1])

for i in range(n1,n2+1): # (包含N和M)所以 M=n2+1
    if i % 2 == 0:       # 取模
        print(i, end=" ") # 修改输出显示格式(看提示信息)

4. LQ1146 统计数字

描述

给定一个正整数N,找出3到N之间的正整数中,个位数为3的有多少个。

例如:N=25,3至25之间个位数为3的有3、13、23,一共有3个。

输入描述

输入一个正整数N(3≤N≤99993)。

输出描述

输出一个整数,表示3到N之间的正整数中,个位数为3的个数(包括3和N)。

用例输入 1 用例输出 1
25 3
n = int(input())

m = 0  # 记录符合条件的累加

for i in range(1,n+1)):
    if str(i)[-1] == "3" : # 将数值变成字符串,用 -1 的索引获取最后一位数值
        m += 1

print(m)

5. 水仙花数

描述

所谓水仙花数,就是指各位数字立方之和等于该数的数;a3称为a的立方,即等于a×a×a的值。例如:因为153=13+53+33,所以153是一个水仙花数。
水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。
附:其他位数的自幂数名字
一位自幂数:独身数
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

输入描述

输出描述

若干行,每行一个整数,表示该范围内的所有水仙花数。按从小到大的顺序输出。

for i in range(100,1000):  # 从 100 开始到 999 计算水仙花数
    m = 0 # 用来保存累加的值
    for j in str(i):  # 例如当前数值是 153 ,先将 153 变成 字符串 str 类型做循环
        m += int(j)**3 # 字符串循环会将 153 拆分成  1、5、3 循环,这里就要将 对应的 字符串 转换成 整形 int 才可以进行数学运算,立方的操作,并将结果累加到m里面

    if m == i: # 如果累加的 m 值 等于 当前的数值(m=153,i=153),就代表这个数是水仙花数
        print(i)
# 自动打印所有 附表方式,了解即可(下例只执行了 1~4 种)
for i in range(1,5):
    i1 = 10**(i-1)
    i2 = 10**i-1

    memo = ""
    for j in range(i1, i2):
        m = 0
        for k in str(j):
            m += int(k) ** i

        if j == m:
            memo += str(j) + " "

    print(i, memo)

6. 百钱买百鸡

描述

公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,

用100文钱买一百只鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

输入描述

(无)。

输出描述

输出可能有多行,每行3个数字,分别表示公鸡、母鸡、小鸡的购买数量。且每一行的两个数之间用一个空格分隔开。
输出格式如下:
a1 b1 c1
a2 b2 c2

每一行表示一种组合购买情况。

# 方法一
for a in range(1,20):
    for b in range(1,33):
        if 5*a+3*b+(100-a-b)/3==100 and (100-a-b)%3==0:
              print (a,b,(100-a-b))
# 方法二
for i in range(1, 20):
    for j in range(1,33):
        for k in range(3, 99, 3):
            if(i + j + k == 100 and i * 5 + j * 3 + k // 3 == 100) :
                print(i, j, k) 

标签: 蓝桥杯 stema python3