递归算法-1166:求f(x,n)

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;
} 
发布了430 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zqhf123/article/details/105306896