return 给定输入的输出的递归函数
Recursive function that return the output from a given input
我需要编写算法递归函数,returns根据下表
输出
Input: 0 1 2 3 4 5 6 7 8
Output: 1 1 2 4 7 13 24 44 81
Input: 0 1 2 3 4 5 6 7 8 9 10 11
Output: 0 0 0 1 1 0 1 1 0 1 1 0
有什么想法吗?
如果对于第一个示例,评估规则实际上是 "return the sum of the previous three elements",则可以使用 C#、C++ 或 Java 实现该函数,如下所示。
int f(int n)
{
if ( n == 0 || n == 1 )
return 1;
else if ( n == 2 )
return 2;
else return f(n-3) + f(n-2) + f(n-1);
}
第二个功能可以实现如下。
int f(int n)
{
if ( n == 0 || n == 1 || n == 2 )
return 0;
else if ( n == 3 || n == 4 )
return 1;
else return f(n-3);
}
我需要编写算法递归函数,returns根据下表
输出Input: 0 1 2 3 4 5 6 7 8
Output: 1 1 2 4 7 13 24 44 81
Input: 0 1 2 3 4 5 6 7 8 9 10 11
Output: 0 0 0 1 1 0 1 1 0 1 1 0
有什么想法吗?
如果对于第一个示例,评估规则实际上是 "return the sum of the previous three elements",则可以使用 C#、C++ 或 Java 实现该函数,如下所示。
int f(int n)
{
if ( n == 0 || n == 1 )
return 1;
else if ( n == 2 )
return 2;
else return f(n-3) + f(n-2) + f(n-1);
}
第二个功能可以实现如下。
int f(int n)
{
if ( n == 0 || n == 1 || n == 2 )
return 0;
else if ( n == 3 || n == 4 )
return 1;
else return f(n-3);
}