题解:P12266 [蓝桥杯 2024 国 Python B] 不同的总分值
weifengzhaomi · · 题解
嘿嘿,我又来发题解了。
题意
现在,有十道题,每道题的分数分别是:
5 分,5 分,10 分,10 分,15 分,15 分,20 分,20 分,25 分,25 分。
现在,得分不同有多少情况。
首先,我们可以确定:
1.最少分数为 0。
2.最多分数为 150。
然后,我们来思考答案。
思路 1.0
由于数字只有十个,所以,我们可以挨个枚举,知道从 0 枚举到 150 为止,这个是手算。
思路 2.0
都说了,我不喜欢手算!
除了手算,我们还有没有别的方法呢?
答案是有的,请看:
观察到,每个数字,都有一个比它小 5。
所以,每个都会其中一个可能有多 5。
那么,我们可以从 0 到 150,通过等差数列来求得,答案为 31!
代码:
#include<bits/stdc++.h>
int main(){
puts("31");
}
后记
本篇题解到此结束。
这次,我们采用了一些数学方法以及一些观察,快速算出了答案,虽然对本题没有任何意义,但是,提升了我们的思维,这对以后说不定有帮助呢。