效果实现:
题目分析:
- 键盘输入一个数字,然后自动计算从1到这个数字的立方和。
- 递归思路:设计一个递归函数,在主程序中调用递归函数。
- 非递归思路:在主函数中利用for循环来遍历输出。
代码分析:
-
递归分析:
- 在递归函数中定义一个形参。
- 终止条件是这个形参等于一的时候。
- 返回值是三个形参相乘再加上递归函数形参减一。
-
非递归分析:
- 在主函数中利用for循环来遍历求和输出。
代码实现:
递归方法:
# include <iostream>
using namespace std;
int Cube(int n)
{
int sum = 0;
if (n == 1)
sum = 1;
else
return n * n * n + Cube(n - 1);
}
int main()
{
int n, y;
cin >> n;
y = Cube(n);
cout << y;
system("pause");
return 0;
}
非递归实现:
# include <iostream>
# include <cmath>
using namespace std;
int main()
{
int n, sum = 0;
cin >> n;
//for (int i = 1; i <= n; i++)
// sum += i*i*i;
for (int i = 1; i <= n; i++)
sum += pow(i, 3);
cout << sum;
system("pause");
return 0;
}
注意:非递归方法中注释了的是常规方法,下面用了pow()函数计算幂的方法。
好啦,此次程序分享结束,欢迎大家在评论区留言~