一本通1166 求f(x,n)
2020-01-31 16:00:36来源:博客园 阅读 ()
一本通1166 求f(x,n)
【题目描述】
已知
计算x=4.2,n=1以及x=2.5,n=15时f的值。
【输入】
输入x和n。
【输出】
函数值,保留两位小数。
【输入样例】
4.2 10
【输出样例】
3.68
1.看见这种一个套着一个还带着诡异符号的,
基本上都是函数+循环(递归嘛)的套路。
话说这题一开始我没看明白,
从n怎么变到x+1的???
再看看,
好像是由n变到1,然后最后那个根号里面有个x;
让我们递归一下,写写代码。
2.这就是正解了
#include<iostream> #include<cstdio> #include<cmath> using namespace std; double gen(double x,double n);//声明一个double型的函数,最后保留两位输出。 int main() { double n,x; double result; cin>>x>>n; result=gen(x,n); printf("%.2lf\n",result); return 0; } double gen(double x,double n)//定义一下这个“根”函数 { if(n==1) return sqrt(1+x); else return sqrt(n+gen(x,n-1));//这时候就是递归最灵魂的操作,调用自己 }
3.该递归的就要递归,
递归的题和一般的函数+循环有区别(其实也不大),
基本上有以下特征:
(1):一个函数套自己,比如f(f(x)),
正常的循环题只有不同参数函数值之间的加法或乘法。
(2):大部分的题,不用递归你做不出来...(或是不好做...)
所以嘛,做题之前一定先想想要用什么算法或者结构什么的,
不然代码打到一半不会打了太尴尬...
原文链接:https://www.cnblogs.com/Jiangxingchen/p/12244693.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Lucas定理模板 2019-08-16
- 信息学奥赛一本通 提高篇 序列第k个数 及 快速幂 2019-05-16
- HDU 1166---敌兵布阵 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash