函数计算 【题目描述】
生活随笔
收集整理的這篇文章主要介紹了
函数计算 【题目描述】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數計算
【題目描述】
有一個數列,f(n) = f(n-1) + f(n//2) + f(n//3),其中n//m表示整除。 如 3//2=1, 4//2=2, 5//2=2。
當n<=0時,有f(n) = 0。
現在告訴你f(1)=x,請計算f(n)的值.
請使用遞歸完成計算。
【輸入描述】
輸入兩個整數x、n。
0 < x,n <= 20
【輸出描述】
輸出f(n)的值。
【樣例輸入】
1 6
【樣例輸出】
16
【注釋】
樣例含義
f(1) = 1
f(2) = f(1) + f(1) + f(0) = 1+1+0 = 2
f(3) = f(2) + f(1) + f(1) = 2+1+1 = 4
f(4) = f(3) + f(2) + f(1) = 4+2+1 = 7
f(5) = f(4) + f(2) + f(1) = 7+2+1 = 10
/******************************************************************************Online C++ Compiler.Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it.*******************************************************************************/ #include<vector> #include <iostream> int f(int n, int x) {if (n <= 0) //基本情況return 0;else if (n == 1) // 基本情況return x;elsereturn f(n - 1,x) + f(n / 2,x)+f(n/3,x); } using namespace std;int main(){ vector<int>data; int tmp; while(cin>>tmp){data.push_back(tmp);if(cin.get() == '\n') break; }int c=f(data[1],data[0]);cout <<c<<endl;return 0; }總結
以上是生活随笔為你收集整理的函数计算 【题目描述】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: discrete mathematics
- 下一篇: 装饰类和责任链