赞
踩
蓝桥杯大赛是工信部人才交流中心举办的全国性专业信息技术赛事。
12年来,做为首屈一指的信息技术赛事,蓝桥杯吸引了北大清华在内的超过 1500 所院校、累计40余万名学子参赛,IBM、百度等知名企业全程参与。蓝桥杯大赛塑造了领跑全国的人才培养选拔模式,并获得了行业的深度认可。
自2016年第八届起,赛事在原有大学生数个专业编程组别的基础上增加了中小学创意编程组,简称青少组。第11届竞赛,超过4万名中小学生参加了青少组的比赛。第12届起,STEMA评测考试替代了青少组的地区选拔赛,更加全面和科学地评测学生的科技素养、逻辑思维和编程能力,给出可以跨时间地域衡量的综合评测成绩。
考试内容:
STEMA 考试内容分为两部分:第一部分为科技素养及逻辑思维,45 分钟;第二部分
为程序设计,75 分钟。
STEMA 考试第一部分为选择题,按选择结果评判分数;第二部分为现场编程,按程 序运行结果评判分数。
选择题目答案唯一、且清晰无歧义。
编程题目要求明确、答案客观。编程题目不指定具体的算法,评判时只看结果展示, 不看程序实现方式。
解题思路:
任意从1、3、5、7四个数字中取出三个数,组成一个三位数,比如135、137等;
换个思路理解,假如abc表示这个三位数,a是百位,b是十位,c是个位,那么a、b、c都是从1,3,5,7四个数字中取,但是a,b,c互不相等,那么这样的a、b、c组成的三位数就是我们想要的。
这里我们用穷举算法实现:
total = 0
for a in range(1,8,2):
for b in range(1, 8, 2):
for c in range(1, 8, 2):
if a == b or a == c or b == c:
continue
num = int(str(a) + str(b) + str(c))
print(num)
total +=num
print(total)
运行结果:
解析过程:
递归算法实现:程序调用自身的编程技巧称为递归。
递归做为一种算法在程序设计语言中广泛应用
import turtle
pen = turtle.Pen()
def draw_tree(n, length):
#画树的递归函数
if n > 0:
pen.forward(length)
pen.left(30)
draw_tree(n-1, length-6)
pen.right(60)
draw_tree(n-1, length-6)
pen.left(30)
pen.backward(length)
pen.left(90)
pen.pensize(5)
draw_tree(5, 60)
turtle.done()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。