鱼C论坛

 找回密码
 立即注册
查看: 1323|回复: 2

新手求助

[复制链接]
发表于 2020-11-18 22:43:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、实验目的
掌握函数的定义、函数的调用和函数的执行过程;理解递归的含义。
二、实验内容
1. 编写一个函数,求从n个不同的数中取r个数的所有选择的个数。其个数值为:
其中: n! = n*(n-1)*(n-2)*...*1。要求:分别用递归和非递归两种方式完成程序设计;主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0  0时,程序结束;能检查输入数据的合法性,要求n>=1并且n>=r。
提示:
(1)利用一个非递归函数fn(int n)计算n!,利用另一个函数cnr(int n, int r)计算Cnr,在该函数中调用fn()。问题:你打算用什么样的变量类型来存放n!函数返回的值?注意各种数据类型的内存字长不同,整数能存放的数据范围有限,你如何解决?
(2)利用一个递归函数实现,实现时利用公式:C(n,r) = C(n, r-1) * (n – r + 1) / r递归实现。如果 r = 0,则C(n, r) = 1,如果 r = 1, 则C(n, r) = n。
1)非递归法:
(1)源程序代码:


(2)运行结果截图


2)递归法:
(1)源程序代码:



(2)运行结果截图


2. 编写两个函数分别用来求两个数的最大公约数和最小公倍数,然后在主函数中,通过键盘输入任意两个整数,调用前面的两个函数来输出这两个整数的最大公约数和最小公倍数。
求最大公约数算法:辗转相除法
例如,求两整数a和b的最大公约数:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
如求27和15的最大公约数过程为:
27%15=12,15%12=3,12%3=0因此,3即为最大公约数
(1)源程序代码:



(2)运行结果截图


3.实验心得体会






思考题:用递归的方法编写一个函数求猴子吃桃问题,然后在主函数中通过键盘输入一个天数,调用该递归函数求出对应的桃子数量。
(此题供有兴趣的同学去做)





求大神 帮忙做一下 谢谢  别人的作业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 23:08:40 | 显示全部楼层
朋友,你将此论坛当什么了?
论坛上的朋友们回答你的求助问题,唯一能得到的就是希望自己的回答能帮到你,而被选为最佳答案就是你对他们的付出的回报。一道题,一个最佳答案,你都吝啬,还要几道题放到一个问题之中?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-18 23:11:21 | 显示全部楼层
乐乐学编程 发表于 2020-11-18 23:08
朋友,你将此论坛当什么了?
论坛上的朋友们回答你的求助问题,唯一能得到的就是希望自己的回答能帮到你, ...

不好意思啊 大神  我这个没看到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 13:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表