algorithm - 具有递增值的递归函数
问题描述
我正在尝试编写一个递归函数来评估 n
3(2+1)+4(3+2+1)+...+(n+1)(n+...+2+1)
我知道通常我们需要把它写成归纳基本情况的结果,假设 n=1,然后调用 n-1 的函数,这将在基本情况下结束。
但是在以下功能中元素增加了,我应该如何处理这个
解决方案
这也与您提到的一般方式相同。只是这样看:
(n+1)(n + (n-1) + (n-2) + ... + 1) + (n)((n-1) + (n-2) + ... + 1) + (n-1)((n-2) + (n-3) + ... + 1)
所以假设你有一个名为 SumTo(n) 的函数,它返回从 1 到 n 的所有数字的总和,这是递归函数:
int Calc(n)
{
if (n == 3)
return n(sumTo(2));
else return n(sumTo(n-1)) * Calc(n-1);
}
推荐阅读
- javascript - 有没有办法将 svg 容器塑造成它的内容?
- ios - SwiftUI:如何将核心数据对象传递给视图?
- c++ - 将 cmake 片段转换为函数 - 不起作用
- javascript - Edge 的composedPath 的替代方案
- knife - 端点不支持 MaxEnvelopsizekb 的配置请求
- xamarin - Xamarin Forms 4.2.0 选项卡式页面选项卡文本颜色不再有效
- php - Wordpress 管理员过滤器 - 默认情况下如何加载选项?
- python - 使用 pandas.Dataframe 时添加列名删除行
- python - Python Cloud Functions 添加日志以查看发生了什么
- react-native - React-native ListItem 和 ImageBackground