第14周报告1--函数的递归

来源:互联网 发布:万网幕布和阿里云幕布 编辑:程序博客网 时间:2024/05/22 22:53

任务1:(函数的递归) 用递归函数求f(n)=13+23+…+n3,要求先将f(n)数学表达式表示成递归的形式,然后再编程序实现。

实验目的:学会使用函数的递归

实验内容:用递归函数求解表达式

/* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院* All rights reserved.* 文件名称: fun.cpp                           * 作    者: 贺利坚                           * 完成日期: 2011 年 11 月 29 日* 版本号: v1.0       * 对任务及求解方法的描述部分* 输入描述:n的值* 问题描述:求f(n)=1^3+2^3+…+n^3(在此^表示幂运算,1^3即1的3次方)* 程序输出:f(n)的值* 问题分析:首先,可以将f(n)表示为以下的递归式     f(1)=1     f(n)=f(n-1)+n*n*n* 程序头部的注释结束*/#include <iostream> using namespace std;int f(int);int main( ){  int n,m;  cout<<”请输入n的值:”;  cin>>n;  m=f(n);  cout<<”f(”<<n<<”)的值为: ”<<m;  return 0;}//下面是递归函数f(n)的定义int f(int n){ int fact; if(n==1)  fact=1; else {   fact=f(n-1)+n*n*n; } return  fact;}

运行结果:下图不是我的程序的结果,是本次任务之最友好界面,作者:jk专属

总结:此题对大多数同学而言没有难度,学会使用递归,掌握了这种思维方式是一件很要紧的事。有些感觉思路差异大,甚至不喜爱递归的同学,要改变一下自己。做这题没有感觉到困难的同学还有一个特点:上机时都是有备而去的。的确,上机前设计算法,给程序打一个草稿,会给自己增加不少淡定和底气。



原创粉丝点击