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

简介: 任务1:(函数的递归) 用递归函数求f(n)=13+23+…+n3,要求先将f(n)数学表达式表示成递归的形式,然后再编程序实现。 实验目的:学会使用函数的递归 实验内容:用递归函数求解表达式 /* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院* All rights reserved.* 文件名称: fun

任务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专属

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



目录
相关文章
|
C++ 搜索推荐
2014秋C++第16周 项目1参考 数组的排序
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1-数组的排序】按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序。重点体会:(1)排序算法,可以是冒泡,也可以是选择;(2)用指向数组的指针变量作为形式参数,用数组名
1036 0
|
C++
2014秋C++ 第15周项目 指针基础
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1-打入“内部”寻“内幕”】下面是一段使用了指针的程序。请利用“单步”执行的方式运行程序,深刻理解“指针变量存储的是地址值”、“通过指针变量间接访问”等概念。将在执行过程中留下深刻映像的界
1045 0
|
C++
2014秋C++第13周项目3参考-成绩处理函数版
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目3 - 成绩处理函数版】项目2的另一种实现。输入、求最大/小值等所有功能都通过自定义函数完成。这种设计貌似比项目2麻烦,但其结构有更多的优点,尤其是当程序的规模更大时。通过这个项目,学会将数组
1036 0
|
物联网 C++ 人工智能
2014秋C++第13周项目4参考-数组的排序
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目4 - 数组的排序】(1)编写函数,完成冒泡排序,要求不能改变下面的main函数。 //两个函数bubble_sort和output_array的声明 int main( ) {
1074 0
|
C++
2014秋C++第9周项目5参考-循环填充题
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703。课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目5:程序填充题】在程序中横线上填上恰当的成分,使完成题目要求的功能: 1.输出1000以内能被3整除且个位数为6的所有整数。 #include &lt;iostream&gt; using
1093 0
|
C++
2014秋C++第9周项目1参考-利用循环求和
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703。课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。   【项目1:利用循环求和】求1000以内所有偶数的和 要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。 参考解答://用for循环完成 #include &
1075 0
|
C++
2014秋C++第9周项目2参考-分数的累加
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703。课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目2:分数的累加】编程序,输出1/3-3/5+5/7-7/9…-19/21的结果 提示:关注效率,要求用单重循环完成,累加项目一正一负交替,不能用pow(-1,i)(pow()是C++中求幂的
1094 0
|
C++
2014秋C++第8周项目1参考-分段函数求值
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833。 课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 【项目1:分段函数求值】 编程序,计算下面函数的值并输出(x取整型即可)
1209 0
|
人工智能 C++
C++第14周项目5——字符串统计
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 【项目5-字符串统计】阅读下面的程序,完成类似的功能 #include&lt;iostream&gt; #include&lt;cstdio&gt; using namespace std; int main() { char str[50];
1260 0
|
C++ Python
C++程序设计-第4周 和对象进一步相处
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 第一部分 阅读程序并理解有关机制  按照封装与信息隐藏的原则,除非特别需要,类中的数据成员需要设置为私有。由此带来的问题是,在类外如何访问这些私有成员?下面4段程序概括了常用的方法。请仔细阅读下面的程序,在阅读过程中,画出对象、变量在内存中的表示图,写出这些程序的运行结
1040 0