吶,你想成爲什麼顏色呢?#1109

 

真白在畫畫時有一個技巧,就是用形似“M”的線將畫布分塊,然後再將設計好的圖像表現在畫布上,這就是她成爲天才畫家的祕密(誤,雖然她除了美術其他都不在行,但她是知道畫布被分成了多少塊的。
今天真白想畫她最愛的年輪麪包,而你被她的畫所吸引,爲她的優雅所陶醉,希望能夠將屬於自己的一份顏色表現在她的畫裏。但這並非是那麼簡單的事。現在她告訴你她已經畫了若干條“M”線,請你回答出她的畫布最多被分成了多少塊,如果你答對了,她就可以爲你添上一彩。
吶,你想成爲什麼顏色呢?

輸入要求

輸入數據有多組,每組一行一個整數n(1 <= n <= 1000)表示“M”線的數量。輸入到文件末尾。

輸出要求

對於每組輸入,輸出一行一個整數,表示n條“M”線最多能把畫布分成的塊數。

測試數據示例 1

0
1
2

輸出

1
2
19

推導過程參考該文章:https://blog.csdn.net/destiny1507/article/details/81228610

//p爲圖形個數大於一增加一個圖形多出來的交點
通用公式:f(n) = f(n-1)+p*(n-1)+1;

//M形狀每增加一個會多出16個交點
那麼該題公式:f(n) = f(n-1)+16*(n-1)+1;
import java.util.Scanner;

/**
 * @Auther: Quincy
 * @Date: 2020/4/8 22:25
 * @Description:
 */
//p爲增加一個圖形多出來的交點
//M形狀每增加一個會多出16個交點
//f(n) = f(n-1)+p(n-1)+1;
public class Main {
    static long  f(int n)
    {
        if (n==0) return 1;
        if (n==1) return 2;
        return f(n-1)+16*(n-1)+1;
    }
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt())
        {
            int n=scanner.nextInt();
            System.out.println( f(n));
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章