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;
}