gpt4 book ai didi

c++ - 霍纳法则 C/C++ 使用递归

转载 作者:太空狗 更新时间:2023-10-29 21:27:00 26 4
gpt4 key购买 nike

我在这里第一次了解到霍纳法则: Horner's rule in C++由于我正在学习递归 ATM,我想知道是否可以使用递归来实现该算法?

int HornerR( int a[], int n, int x, int index )
{
if (index==n) return a[n];
else
return x*HornerR(a,n ,x,index+1) + a[index];
}

我认为只有第四个参数才有可能。

最佳答案

你可以用指针运算来做到这一点:

  1. 数组末尾的Base Case(检查n)返回常量参数
  2. 递归 Case 返回当前单元格添加到变量相乘的递归调用
  3. 递归调用将数组移动到下一个单元格并更新计数器 (n)

基本上这让您可以通过将数组移动到下一个位置并发送它(并且始终使用第一个单元格)而不是每次都发送整个数组来计算索引变量

关于c++ - 霍纳法则 C/C++ 使用递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com