计蒜客2020蓝桥杯B组省赛模拟(一)C题
我今天逛博客的时候才发现有模拟赛,虽然我不太喜欢计蒜客。。。=-=不过还是题目重要一些。。
原本想写个总的。。有些题目我也不太确定。。还是算了把。
数论题
C题:
结果填空题,平面分割,递推问题,也简单,原先写过。
传送门
参考博客:
https://blog.csdn.net/qq_44624316/article/details/104610829
这里附上适合本题的解题思路:
规律:f(n) = f(n - 1) + n;
f(n) = n * (n + 1) / 2 + 1;
f(0) = 0; f(1) = 2; f(2) = 4; f(3) = 7;
不过不能直接用上面的递推式
因为题目中6条直线分割了7个平面,按照上面的思路的话。。就是f(6) = 22个平面。。显然不对嘛。。不能直接用。
我们有五条直线可以操作。
第一条直线最多经过6个平面。
以后的每条直线比上一次穿过的平面多1。找规律发现=-=
然后就会增加对应的平面数。
所以我们可以操作的第一条直线最多经过6个平面,也就是新增加了六个平面。之后的往上累加就行
答案:47
代码部分:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int ans = 7;
int cnt = 6;
for (int i = 1; i <= 5; i++)
{
ans += cnt++;
}
cout << ans << endl;
return 0;
}