1166:求f(x,n)
時間限制: 1000 ms 內存限制: 65536 KB
提交數: 8705 通過數: 5717
【題目描述】
已知
計算x=4.2,n=10以及x=2.5,n=15時的f的值。
【輸入】
輸入x和n。
【輸出】
函數值,保留兩位小數。
【輸入樣例】
4.2 10
【輸出樣例】
3.68
思路:由n變到1,最後那個根號裏面有個x,用遞歸方法寫下。
#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
float f(float x,float n){
if(n == 1) return sqrt(x + 1);//判斷是否到達遞歸邊界n=1,最裏面那個根號式子
else return sqrt(n + f(x,n - 1));//否則繼續遞歸 n-1 層
}
int main(){
float a,b;
cin >> a >> b;
printf("%.2f",f(a,b));
return 0;
}