10-2 求数列的第N项(递归)已知整数数列第一项和第二项是1,该数列从第三项开始,如果该项是奇数项,则它是前两项之和,如果该项是偶数项,则它是前两项之差,即:f( n ) = 1 当 n = 1 或 2 时,f( n )
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 02:58:23
10-2 求数列的第N项(递归)已知整数数列第一项和第二项是1,该数列从第三项开始,如果该项是奇数项,则它是前两项之和,如果该项是偶数项,则它是前两项之差,即:f( n ) = 1 当 n = 1 或 2 时,f( n )
10-2 求数列的第N项(递归)
已知整数数列第一项和第二项是1,该数列从第三项开始,如果该项是奇数项,则它是前两项之和,如果该项是偶数项,则它是前两项之差,即:
f( n ) = 1 当 n = 1 或 2 时,
f( n ) = f( n-1 ) - f( n-2 ) 当n是偶数时,
f( n ) = f( n-1 ) + f( n-2 ) 当n是奇数时,
编写一个递归函数,求数列的第N项.
10-2 求数列的第N项(递归)已知整数数列第一项和第二项是1,该数列从第三项开始,如果该项是奇数项,则它是前两项之和,如果该项是偶数项,则它是前两项之差,即:f( n ) = 1 当 n = 1 或 2 时,f( n )
我会
#include
int func(int n)
{
\x09if (n == 1 || n == 2)
\x09{
\x09\x09return 1;
\x09}
\x09else if(n % 2 == 0)
\x09{
\x09\x09return func(n-1) - func(n - 2);
\x09}
\x09else if(n % 2 == 1)
\x09{
\x09\x09return func(n-1) + func(n - 2);\x09\x09
\x09}
\x09return 0;
}
int main(int argc, char* argv[])
{
\x09for (int i = 1; i < 10; i++)
\x09{
\x09\x09printf("%d ", func(i));
\x09}
\x09printf("\n");
\x09
\x09return 0;
}