查看: 1662|回復: 1
打印 上一主題 下一主題

[TOJ] 107 紀念品的難題

[複製鏈接]
  • TA的每日心情
    鬱悶
    2015-2-10 21:23
  • 簽到天數: 1 天

    [LV.1]初來乍到

    12

    主題

    69

    帖子

    779

    積分

    高級會員

    Rank: 4

    積分
    779

    台南一中資訊社

    跳轉到指定樓層
    樓主
    發表於 2014-8-9 21:38:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    本帖最後由 amoshuangyc 於 2014-8-9 22:58 編輯

    這題的題目敘述並不是很清楚,舉得例子太少了(起碼對我這個沒去營隊的人來說,不知現場有沒有對這題做出說明)

    「他的女兒各有 1+2 個兒子,以此類推」這句話是說:


    勇者的第二個兒子有兩個女兒,兩個女兒都有 3 個兒子(1+2 = 3)。
    勇者的第三個兒子有三個女兒,三個女兒都有 6 個兒子(1+2+3 = 6)。
    勇者的第四個兒子有四個女兒,四個女兒都有 10 個兒子(1+2+3+4 = 10)。

    勇者的第 i 個兒子有 i 個女兒,i 個女兒都有 (1+i)*i/2 個兒子(1+2+3+...+i)。
    對勇者的第 i 個兒子及其後代共需要 1(兒子)+ i (孫女)+ (1+i)*i / 2 * i(曾孫) 個記念品。


    示意圖如下:

    勇者:
      第一個兒子:
        孫女兒:
          曾孫。

      第二個兒子:
        孫女兒
          曾孫
          曾孫
          曾孫。
        孫女兒
          曾孫
          曾孫
          曾孫。

      第三個兒子:
        孫女兒
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫。
        孫女兒
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫。
        孫女兒
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫
          曾孫。
      



    我原本以為是這樣:第二個兒子有兩個女兒,一個 1 個兒子,另一個 2 個兒子;第三個兒子有三個女兒,一個 1 個兒子,一個 2 個,一個 3 個……



    AC Code:
    [C++] 純文本查看 復制代碼
    #include <iostream>
    
    using namespace std;
    
    int main() {
        int sum = 0;
        
        for (int i=1; i<=30; i++) {
            sum += 1;
            sum += i;
            sum += (1+i) * i / 2 * i;
        }
        
        cout << sum << endl;
        
        return 0;
    }
    









    點評

    對有去營隊的人來說一樣是例子太少  發表於 2014-8-9 21:51

    評分

    參與人數 1金幣 +8 收起 理由
    domen111 + 8 寫得非常完整啊!示意圖大概可以拿來講解用.

    查看全部評分

    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表