2020 蓝桥杯大学 B 组省赛模拟赛(一) C. 结果填空:七巧板
文章目錄
- 1.題目:
- 2.解法:
- 3.此題分析:
- 4.代碼實例:
1.題目:
求問在以下圖案的大三角形內部添加五條直線最多可以將大三角形分成多少個區域。
例如下圖一共有 7 個區域。
請在下圖的基礎上添加五條直線。
2.解法:
有關數學幾何
公式如下,但不能直接使用,具體情況具體分析
規律:f(n)=f(n-1)+n
公式:f(n)=n*(n+1)/2+1
我們先算幾個來推一下
f(1) = 1*2/2+1 = 2 <—意味著—>一條直線將1塊七巧板最多切割成2塊七巧板
f(2) = 2*3/2+1 = 4 <—意味著—>兩條直線將1塊七巧板最多切割成4塊七巧板
f(3) = 3*4/2+1 = 7 <—意味著—>三條直線將1塊七巧板最多切割成7塊七巧板
找規律
由上面可以得出:
第一條直線穿過了1塊七巧板,最終得到2塊七巧板
第二條直線穿過了2塊七巧板,最終得到4塊七巧板
第三條直線穿過了3塊七巧板,最終得到7塊七巧板
總結:
下一次直線穿過的七巧板塊數比上一次穿過的多1,且穿過了幾塊七巧板就多了幾塊,簡單的說穿過幾塊就多幾塊。如:第三條直線穿過了3塊,就多三塊,4+3 = 7
3.此題分析:
這道題我們可以發現,里面一共有6條直線,用公式計算的話,6條直線最多可以將一塊七巧板切割成
f(6) = 6*7/2+1 = 23塊七巧板,但是題目中只有7塊七巧板,不夠23塊,所以下一次切割就不能直接用公式
我們可以推導一下
題目要求放5條直線
第一條直線最多穿過6個區域,如下圖
根據上面2的總結:下一次直線穿過的七巧板塊數比上一次穿過的塊數多1
所以第二條直線穿過的塊數為6+1=7
我們可以發現只要穿過幾塊七巧板就是多了幾塊,比如穿過了6塊七巧板就多了6塊,穿過了7塊七巧板就多了7塊
所以以此類推
我們就可以寫代碼了
4.代碼實例:
public class Main{public static void main(String[] args) {int a = 7;//代表一開始有7個區域int b = 6;//代表第一次最多穿過6個區域for (int i = 1; i <= 5; i++) {//切5次a += b++;//每切一次就是原來的a加上穿過的區域數,因為穿過幾個就多幾個區域}System.out.println(a);} }總結
以上是生活随笔為你收集整理的2020 蓝桥杯大学 B 组省赛模拟赛(一) C. 结果填空:七巧板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 洛谷 P1085 不高兴的津津
- 下一篇: Java 洛谷 P1035 级数求和