函数与递归练习
来源:互联网 发布:阿里云网站怎么上线 编辑:程序博客网 时间:2024/05/20 17:24
Description:
请实现下面两个函数,分别完成对两个数求最大公约数,和求一个数阶乘的求解。
要求:两个函数都需要递归实现求解,否则本题按0分处理。主函数已给出如下:
#include<stdio.h>// function declares here, first is Greatest common divisor, next is factorial.int gcd(int m, int n);int fac(int p);int main(void) { int a, b, c; scanf("%d%d%d", &a, &b, &c); printf("%d %d\n", gcd(a, b), fac(c));}// next is function's defintion.
你只需要利用递归实现这两个函数。
ps: 强烈建议大家课后可以看看期中测试题目的Maxmal Discount那道题的答案。(学习递归函数的运用,合并排序,指针,内存管理)
因为所写的内容比较少,避免误判为抄袭,请各位为你的函数多写注释。
Hint:
最大公约数:辗转相除法。
阶乘:按定义求解即可。
#include<stdio.h>// function declares here, first is Greatest common divisor, next is factorial.int gcd(int m, int n) { if (n % m == 0) return(m); else return (gcd(n%m, m));}int fac(int p) { if (p == 0 || p == 1) return(1); //是0或者1就返回1 else return(p * fac(p - 1)); //p*已知p-1的阶乘}int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); printf("%d %d\n", gcd(a, b), fac(c)); return 0;}// next is function's defintion.
0 0
- 函数与递归练习
- 函数递归练习
- 递归函数练习
- javaSE_05Java中方法(函数)与重载、递归-练习
- 数据结构与算法练习-递归
- 递归函数练习-走阶梯共几种走法
- 171110-函数递归练习【连续第十八天】
- 函数调用与递归
- 匿名函数与递归
- 将递归函数转化为非递归练习
- 递推递归练习 C 递归的函数
- 递推递归练习C递归的函数
- 数据结构与算法练习-回溯、递归
- 助人为乐->递归与分治->双递归函数
- 递归练习
- 递归练习
- 递归 练习
- 递归练习
- 禁止button提交但是不禁止js提交
- iOS集成微信支付的坑,让人摸不透的sign
- 【OpenCV第一篇】安装OpenCV
- vc++给控件添加消息和函数
- Android Studio 1.5.1更新说明与下载地址
- 函数与递归练习
- 程序员未来发展三大方向
- 【百度地图JavaScript API】手机端浏览器定位的实现
- 简单算法—字符串处理
- String与StringBuffer、StringBuilder的区别
- Android 的设置项 I-Create Settings
- 剑指offer系列之二十五:二叉搜索树与双向链表
- 小白学算法2.8——计数排序
- kendo grid显示行号/序号列(二)