給定以下系列:1,2,5, 26,677, .....使得該系列的第n項等於 (n-1)th^2 +1並且該系列的第一項是1. 使用名爲f的遞歸函數編寫程序來計算第n期。使用循環打印系列中前n個項的f 的值。你將從用戶那裏獲得輸入n。給定以下系列...系列的第n項等於(n-1)th^2 +1並且系列的第一項是1使用遞歸
任何人都可以幫我弄清楚我到底在做什麼?我不知道如何用遞歸來做到這一點,我知道如何做到這一點。
感謝, 牛逼
編輯:我知道了做序列現在,我只是不知道如何解決它那裏是一個for循環,做的第一件5這個序列然後遞歸函數沒有休息:
#include <stdio.h>
#include <math.h>
double f(double n);
int main(){
/*
Problem 6:
- Recursive function to generate nth term of f(x)
*/
double nth;
int i = 0,flag=1;
double result;
int seq[] = {1,2,5,26,677};
printf("Please enter the number of terms you would like to generate:
\n");
while(flag == 1){
if(scanf("%lf",&nth) == 1){
flag = 0;
}
else{
printf("Invalid number, program is exiting...\n");
return 0;
}
}
result = f(nth);
return 0;
}
double f(double n){
// base condition
if(n == 1)
return 1;
else
printf("(%.0lf)",pow(f(n-1),2.0) + 1);
}
開始你已經嘗試過的東西。 –
該規則是以遞歸方式編寫的。這就像將它複製並粘貼到你的函數中一樣。 –
你能告訴我如何實現它嗎?我不確定我明白遞歸的樣子。@EugeneSh。 – tidwellxyz