第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 汉字田, 六一儿童节,存钱】

早上好啊大伙,这一期依旧是蓝桥杯备赛刷题的记录。
本期题单:汉字田, 六一儿童节,存钱

前言

前段时间准备省赛,运气好进国赛了。所以就开始准备6月份的国赛。但是近期还有别的比赛要准备,所以刷题的速度比较慢,可能每一期就会有一两道题目。

如果大伙再刷哪道题的时候遇到问题了,也可以留言或者私信,小白兔会去先尝试一下那到题目。

文章目录

    • 前言
  • 汉字田
    • 题目
    • 思路分析
    • 代码
  • 六一儿童节
    • 题目
    • 思路分析
    • 代码
  • 存钱
    • 题目
    • 思路分析
    • 代码
  • 感谢大伙观看,别忘了三连支持一下
  • 大家也可以关注一下我的其它专栏,同样精彩喔~
  • 下期见咯~

汉字田

题目

题目链接:汉字田
第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 汉字田, 六一儿童节,存钱】_第1张图片

思路分析

直接一手瞪眼法得出答案。具体怎么瞪就看下面的图吧~

需要注意的是,题目中所说的是直线而不是线段。

第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 汉字田, 六一儿童节,存钱】_第2张图片

代码

print(12)

# 4 + 8

六一儿童节

题目

题目链接:六一儿童节
第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 汉字田, 六一儿童节,存钱】_第3张图片

思路分析

这题不管怎么算都需要很久的时间,可以把代码放那边算着,先去写后面的题目,嗯嗯。

或者大伙可以多开几个然后分段算,最后加起来就行,直接一手多线程,嘿嘿。

然后这里提供一个稍微会快一点的方法 ——

我们算出每一个 xx % 6421的值。

根据余数的性质,余数之和是6421的倍数,那么它就符合题意。

代码

cnt = 0
lst = [0 for _ in range(20250000)]
for x in range(1, 20240601):
    lst[x] = (x ** x) % 6421
    print(x) #因为时间太久了,所以加了一个可视化
print('over')
for i in range(1, 20240601):
    for j in range(1, 20240601):
        if (lst[i] + lst[j]) % 6421 == 0:
            cnt += 1
print(cnt)

# 答案是 51349141107

当然写成下面这样直接的含义也是没问题,就是会有点久吧。

cnt = 0
for x in range(1, 20240602):
    for y in range(1, 20240602):
        if (x ** x + y ** y) % 6421 == 0:
            cnt += 1
print(cnt)

存钱

题目

题目链接:存钱

第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 汉字田, 六一儿童节,存钱】_第4张图片

思路分析

这题的主要难点在于精度,就是在求利润的时候不要直接 * 1.00005。

然后记得把小于0.01的值都滤掉。

代码

m = int(input())
ans = 0.0
for _ in range(m):
    ans += int(ans * 0.005) / 100
    ans += float(input())
    ans = round(ans, 2)
    print(f"{ans:.2f}")

感谢大伙观看,别忘了三连支持一下

大家也可以关注一下我的其它专栏,同样精彩喔~

下期见咯~

请添加图片描述

你可能感兴趣的:(蓝桥杯比赛备赛指南,蓝桥杯,python,c语言)