gpt4 book ai didi

c++ - 用递归计算函数 F(n)

转载 作者:太空宇宙 更新时间:2023-11-04 15:17:02 25 4
gpt4 key购买 nike

看题目看不懂在说什么:在非负整数上确定的函数 F(n) 如下:F(0) = 1; F(1) = 1; F(2n) = f(n); F(2n+1)=F(n)+F(n+1)通过递归计算出F(n)。和我的代码:

#include<iostream.h>
double TINH_F(int n)
{
if(n == 0)
{
return 0;
}
if(n == 1)
{
return 1;
}

return (F(n+1) - F(2*n+1));
}

最佳答案

这显然是不正确的。递归函数调用自身 并包含一个停止条件:

#include<iostream.h>
double TINH_F(int n)
{
if(n == 0)
{
return 0;
}
if(n == 1)
{
return 1;
}

// Note the function name change
return (TINH_F(n+1) - TINH_F(2*n+1));
}

如果传入的整数是负数,你的函数应该做什么?递归仍然有效吗?或者您是否应该抛出异常以向调用者表明契约(Contract)已被破坏?

关于c++ - 用递归计算函数 F(n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30189223/

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