吉林大学超星MOOC学习通高级语言程序设计 C++ 实验06 递归程序设计(2024级)

这篇博客介绍了吉林大学超星MOOC的C++实验06,涉及递归程序设计,包括最大公因数、Hermite多项式、Ackerman函数、排列组合等8个主题。每个主题都详细阐述了算法思想和递归实现方法,并给出了样例输入和输出。
摘要由CSDN通过智能技术生成

目录

 1. 最大公因数 

2.Hermite多项式

3. Ackerman函数

4.排列组合

5. 最大元素

6. 数组反序

7. 十进制转换任意进制

8. 顺序检索


 1. 最大公因数 

题目编号 :Exp06-Basic04

题目名称:最大公因数

题目描述:编写程序,用递归方法求解m、n最大公约数。对正整数u和v 可以采用欧几里德辗转相除算法求它们的最大公因数,具体过程如下:

u% v → r~1~

v % r~1~ → r~2~

r~1~% r~2~ → r~3~

r~2~ % r~3~ → r~4~

   … …  

r~n-1~% r~n~ → r~n+1~=0

当余数r~n+1~=0时,计算过程结束,r~n~ 为正整数u 、v的最大公因数。


输入:从键盘随机输入两个正整数m和n。输出:最大公因数。
 

样例1:

输入:
12 15
输出:
3

样例2:

输入:
28 49
输出:
7

#include <iostream>

using namespace std;

int gcd(int x, int y)
{
	if (y == 0)return x;
	else
		return gcd(y, x % y);
}

int main()
{
	int x, y;
	cin >> x >> y;

	cout << gcd(x, y);

	return 0;
}

 比较基础的一道题,利用辗转相除法求最大公约数

2.Hermite多项式

题目编号:Exp06-Basic02,GJBook3-10-03

题目名称:Hermite多项式

题目描述:编写程序,用递归方法求解Hermite 多项式值。Hermite 多项式定义如下。

GJBook3-10-03.jpg

输入:从键盘随机输入一个非负整数和一个实数,作为n和x的值。

输出:H~n~(x)的值,精确到小数点后2位。


样例1:

输入:
0  1.5
输出:
1.00

样例2:

输入:
2  2.4
输出:
21.04

#include <iostream>
#include <iomanip>
using namespace std;

double Hermite(int n,double x)
{
	if (n == 0)return 1;
	if (n == 1)return 2 * x;

	return 2 * x * Hermite(n - 1, x) - 2 * (n - 1) * Hermite(n - 2, x);

}

int main()
{
	int n;
	double x;
	cin >> n >> x;

	cout << fixed << setprecision(2) << Hermite(n, x);

	re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大嘤三喵军团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值