close
Content
數數是班上聰明又漂亮的女生,有一天……,她愛上了明明。
她對明明說:「我們的愛,若是錯誤,願你我沒有白白受苦。呃,不是,我們的愛就像是函數!」
明明說,「是啊,我對妳的愛是與日俱增呢!」
數數開心地說,「你的意思是,你在第 n 天對我的愛若用函數 f(n) 來描述,那麼,f(n) = n + f(n-1)。也就是說,每一天都比前一天多了一單位的愛,並且與舊的愛累積起來嗎?」
明明點了點頭,然後問,「那麼,妳呢?」
數數說,「我在第 n 天對你的愛若是 g(n),則會滿足 g(n) = f(n) + g(n-1) 關係!」
於是,明明笑了笑,摟著數數說,我一定會更加愛妳的!
註:在第一天的時候,f(1) = g(1) = 1。 
Input

輸入以 EOF 結束。每一筆測試資料有一個數字 n,其中 n > 0。 
此外,50% 的測資 n <= 500;80% 的測資,n <= 3000;全部的測資 n <= 30000。 

Output
輸出 f(n) 與 g(n)。
Sample Input #1
1
2
3
5
8
13
Sample Output #1
1 1
3 4
6 10
15 35
36 120
91 455

 

python

while True:
    try:
        n=int(input())
        f=1
        g=1
        for i in range(2,n+1):
            f+=i #f(n) = n + f(n-1)
            g+=f #g(n) = f(n) + g(n-1)
        print('{} {}'.format(f,g)) #輸出f跟g
    except:
        break
#我這邊遞迴不會寫,如果你們會可以教我嗎

 

 

C++

#include <iostream>
using namespace std;

int main()
{
    int in1;
    
    //輸入測資 
    while(cin>>in1)
    {
        //數字很大用long long 
        long long fn=0,gn=0;
        
        //照題目給的公式計算
        for(int n=1;n<=in1;n++)
        { 
            fn+=n;
            gn+=fn;
        }
        
        //輸出
        cout<<fn<<" "<<gn<<endl;
        
    }
    return 0;
}
arrow
arrow
    文章標籤
    高中生程式解題 python C++
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()