涉及考试:计算机学会编程能力等级认证(GESP)、电子学会等级考试 活动内容:提供不同等级的真题供小朋友们选择练习 备考建议:根据自己备考的等级选择相应题目 附加价值:可作为白名单比赛的备考训练 本月打卡:本月打卡题目
计算题:
买本子:小明同学带了一些钱去帮同学们买本子。请根据所带的元数、单价和数量,算一算钱够不够。
要求:
(1) 程序运行后,输入三次数字(不能一次输完),这三个数字为整数,表示所带的元数(钱数)、本子的单价和数量;
(2) 输出一行,钱足够买就输出"True",钱不够买就输出"False"(不要输出引号)。
输入样例:
100911输出样例:
True参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
money = int(input("所带钱数(元,整数):"))price = int(input("本子的单价(元,整数):"))count = int(input("本子的数量(个,整数):"))print(money >= price * count)最小公倍数是指两个或多个整数公有的倍数中,最小的那个数。例如,2 和 3 的公倍数有 6、12、18 等等,其中最小的是 6,因此 6 就是 2 和 3 的最小公倍数。
最小公倍数在数学中有广泛的应用,例如在分数的化简、约分、比较大小等问题中都需要用到最小公倍数。
请你编写一个程序,程序可以输入两个正整数,输出它们的最小公倍数。
样例输入:
请输入第一个正整数:6请输入第二个正整数:8样例输出:
24友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
参考程序:
x = int(input("请输入第一个正整数:"))y = int(input("请输入第二个正整数:"))i = max(x, y)while i <= x * y:if i % x == 0and i % y == 0: print(i)break i += 1【提交】
https://www.luogu.com.cn/problem/B3957
【问题描述】
小杨同学有一个包含 个非负整数的序列 ,他想要知道其中有多少对下标组合 ,使得 是完全平方数。
如果 是完全平方数,则存在非负整数 使得 。
【输入描述】
第一行一个非负整数 ,表示非负整数个数。
第二行包含 个非负整数 ,表示序列 包含的非负整数。
【输出描述】
输出一个非负整数,表示和是完全平方数的非负整数对数。
【样例输入1】
51 4 3 3 5【样例输出1】
3【样例输入2】
23 5【样例输出2】
0对于全部数据,保证有 。
参考程序:
'''[GESP202403 三级] 完全平方数https://www.luogu.com.cn/problem/B3957'''n = int(input())A = list(map(int, input().split()))ans = 0for i in range(n):for j in range(i + 1, n): num = A[i] + A[j] tmp = int(num ** 0.5 + 1e-6)if tmp * tmp == num: ans += 1print(ans)未来居民社区设计有一个机器人服务中心,假如某社区有若干栋住宅楼,每栋楼的位置可以由坐标表示,其中坐标表示居民楼的东西向位置,坐标表示居民楼的南北向位置。这里约定,社区中任意2点和的之间的距离使用数值来度量。要求为社区选择建立机器人服务中心的最佳位置,使各个居民点到机器人服务中心的距离总和最小。以下是机器人服务中心的选址程序,采用取各坐标中位数的方法来确定中心位置,请补充完成该程序。
n = int(input("请输入居民楼总数:"))hx = []hy = []for i in range(n): x, y = map(int, input("请输入居民楼的x和y坐标:").split(",")) hx.append(x) hy.append(y)hx = sorted(_____①_____) hy = sorted(_____②_____) if n % 2 == 0: # 偶数情况,求中位数 sn = int(n / 2) x0 = int((hx[sn] + hx[sn - 1]) / 2) y0 = int((hy[sn] + hy[sn - 1]) / 2)else: # 奇数情况,求中位数 sn = int((n - 1) / 2) x0 = _____③_____ y0 = _____④_____ sumx = 0sumy = 0for j in hx: dx = abs(x0 - j) sumx += dxfor k in hy: dy = abs(y0 - k) sumy += dyprint("选址点的坐标是:(%d,%d)" % (x0, y0))print("选址到各楼的累计距离是:", sumx + sumy)参考答案:
① hx
② hy
③ hx[sn]
④ hy[sn]
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
