首页 > 其他分享 >第三章课后习题(3)

第三章课后习题(3)

时间:2023-04-25 22:45:41浏览次数:41  
标签:return 函数 int else Fibonacci 课后 第三章 习题 getPower

例3-13

题目描述:用递归的方法编写函数求Fibonacci级数,公式为

F(n)=F(n-1)+F(n-2)(n>2),F1=F2=1

观察函数调用过程。

设计思路:

1.设计一个Fibonacci函数,包括两个整数为形参,重复调用该函数,在调用时对n进行减一操作,当n=2时结束循环。

2.输入n值,调用函数。

3.输出结果。

流程图:

 

 

 代码实现:

#include<iostream>
using namespace std;
int Fibonacci(int n)
{
    if (n == 1 || n == 2)
    {
        return 1;
    }
    else
        return Fibonacci(n - 1) + Fibonacci(n - 2);
    return 0;
}
int main()
{
    int sum = 0;
    int n;
    cin >> n;
    int s = Fibonacci(n);
    cout << s;
    return 0;
}

 

例3-14

题目描述:用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入输出。递归公式已给出。

设计思路:

1.设计一个函数p,包括两个形参x和n,当n=0时p(x)=1,当n=1时p(x)=x,当x>1时p(x)=;

2.输入x与n的值。

3.输出结果。

流程图:

 代码实现:

 

#include<iostream>
using namespace std;
int p(int x, int n)
{
    if (n ==0)
    {
        return 1;
    }
    else if (n == 1)
    {
        return x;
    }
    else
    {
        return ((2 * n - 1) * x * p(x, n-1) - (n - 1) * p(x, n - 2)) / n;
    }
    return 0;
}
int main()
{
    int x, n;
    cin >> x >> n;
    cout<<p(x, n);
    return 0;
}

 例3-15

题目描述:编写递归函数getPower计算x的y次方,在同一个程序中针对整形和实型实现两个重载的函数

设计思路:

1.编写两个形参类型不同的函数,分别计算整形和实型是的结果。

2.输入x与y的值。

3.输出结果

流程图:

 代码实现:

#include<iostream>
using namespace std;
int getPower(int x, int y)
{
    if (y < 0)
        return 0;
    else
        return getPower(x, y - 1);
}
double getPower(double x, double y)
{
    if (y < 0)
        return 0;
    else
        return getPower(x, y - 1);
}
int main()
{
    int x, y;
    cin >> x >> y;
    int a, b;
    cin >> a >> b;
    cout<<getPower(x, y);
    cout<<getPower(a, b);
    return 0;
}

 

标签:return,函数,int,else,Fibonacci,课后,第三章,习题,getPower
From: https://www.cnblogs.com/xuechenhao173/p/17354028.html

相关文章

  • C++第四章课后习题4-12
    定义一个datatype类,能处理包含字符型,整形,浮点型3种类型的数据,给出其构造函数。1#include<iostream>2usingnamespacestd;34classDataType{5private:6chara;7intn;8floatx;9enum{10character,11intege......
  • 第三章课后习题(2)
    例3-9题目描述:编写函数判别一个数是否是质数,在主程序中实现输入输出。设计思路:1.输入一个数。2.让这个数除余2到该数的一半,分析是否有余0是。3.有则不是,否则是。流程图: 代码实现:#include<iostream>usingnamespacestd;boolIs(inta){for(inti=2;i<a/......
  • C++第四章课后习题选做
    #include<iostream>usingnamespacestd;classDate{private:intyear,month,day;public:Date(intyear=1,intmonth=1,intday=1){this->year=year;this->month=month;this->......
  • 37-时序逻辑电路习题
    例1主从触发器,下降沿触发;上升沿输入,下降沿反转例2cp作为输入也是Mealy型电路例3......
  • 第三章课后习题(1)
     输出样例1:100008888823333设计思路:1.输入一个整数x为朋友圈个数。2.3-7题目描述:完成函数,参数为两个unsignedshortint型数,返回值为第一个参数除以第二个参数的结果,数据类型为shortint;如果第二个参数为0,则返回值为-1.在主程序中实现输入输出。设计思路:1.设计一个函数带有......
  • C++第四章课后习题4-8
    定义一个dog类,包含的age,weight等属性,以及对这些属性的操作方法,实现并测试这个类。1#include<iostream>2usingnamespacestd;3classDog{4private:5intage,weight;6public:7voidsetdog(inta,intb)8{9......
  • 每周习题讲解
    1.给你一个长度为 �n 的由大写的英文字母组成的字符串,请你找出出现频率最高的长度为2的子串#include<iostream>/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/usingnamespacestd;chara[100];intb[27......
  • 第三章部分例题(7)补4月22日
    例3-16题目描述:重载函数应用举例。编写两个名为sumOfSquare的重载函数,分别求两整数的平方和及两实数的平方和。代码部分:#include<iostream>usingnamespacestd;intgetVolume(intlength,intwidth=1,intheight=1){returnlength*width*height;}intmain(){......
  • 王道408操作系统-4.3文件系统 习题总结
    文件系统第一题用户使用文件系统实现对文件的按名存取,选B第二题选B,超级块是用来描述文件系统的第三题文件的存储空间实际上是对(外存空间区)的组织和管理。第四题第五题索引节点用来存放文件的描述信息,所以选B虚拟文件系统虚拟文件系统,简称VFS(Virtual......
  • 3 第三章 动词时态
    第三章动词时态1.把be动词当做动词,其后的分词则视为形容词补语。2.动词短语长的时候,里面一定会有be动词,如果把be动词抽离出来当做动词看待,那就只剩下用be动词写的简单式,以及用havebeen写的完成式两种状态。分词则可视为形容词补语,不放在动词短语里面,如此一来整个时态的问题就......