第十三周 用递归方法求奇数连乘的积
2013-11-20 16:54
323 查看
/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:尚振伟 *完成日期:2013年 11月20日 *版本号:v0.1 *对任务及求解方法的描述部分: *输入描述:无 *问题描述:用递归方法求奇数连乘的积。 *程序输入:21 *程序输出: *问题分析: *算法设计: 递归 */ 我的程序: #include <iostream> using namespace std; long f(int); //声明一个函数 int main() { int n; long y; cout<<"请输入一个数:"; cin>>n; y=f(n); cout<<"1*3*5*...*"<<n<<"="<<y<<endl; return 0; } long f(int n) //定义上面声明的函数 { long h; if(n<0) //下面判断n是否符合题意 { cout<<"n<0,输入错误:"<<endl; } else if(n==0) h=0; else if(n==1) h=1; else if(n>=2&&n%2==0) //输入的n的值必须是奇数 cout<<"n必须要是奇数,输入错误"<<endl; else h=f(n-2)*n; //用递归方法计算 return h; }
结果展示:
心得体会:输入一个大值,结果输出就不对,原因是long(int)型有数值范围。
相关文章推荐
- 第十三周-递归求奇数连乘的积
- 第十三周上机实践项目——递归求奇数连乘的积
- 第十三周项目一-递归求奇数连乘的积
- 第十三周项目1-递归求奇数连乘的积
- 递归求奇数连乘的积
- 第十三周项目一任务一—递归方法求Fibnacci序列
- C++第13周项目1——递归求奇数连乘的积
- 13周项目1——递归求奇数连乘的积
- 递归求奇数连乘的积
- 递归求奇数连乘的积
- 第13周--项目1 递归求奇数连乘的积
- 利用递归函数求奇数连乘的积(递归有点难,刚开始不理解)
- 13--1递归求奇数连乘的积
- 第十三周 用递归的方法求两个数的最大公约数
- 项目1-递归求奇数连乘的积
- 输入一个奇数,用递归方法输出对应的菱形
- 13周项目1-递归求奇数连乘的积
- 第13周项目4-递归求奇数连乘的积
- 第13周项目1:递归求奇数连乘的积
- 递归求奇数连乘的积