【发布时间】:2016-11-24 18:17:55
【问题描述】:
我需要生成一个修改后的斐波那契数列,它必须是完全动态的。这里将给出 f0 和 f1,即在生成序列后 f0=1 和 f1=3。我应该在特定索引处打印结果值。
例如:f0 = 1, f1 = 3, testcase(n) = 3(这不能改变特定的值)
t1 = 4 t2 = 8 t3 = 11 以此类推。应该通过使用以下方法添加当前元素和前一个元素来为 11 个元素生成系列:f[i] = f[i-1] + f[i-2]
可以表示为:
0=>1
1=>3
2=>4
3=>7
4=>11
5=>18
6=>29
7=>47
8=>76
9=>123
10=>199
11=>322
我应该打印索引 4,8 和 11 处的值(这必须是我的程序的输出),即11 76 322。
输入格式:
f0,f1 和 n(其中 n 是索引的数量)
其中 ti=[t1,t2,....tn-1](指定 R-Fibonacci 系列的索引)。
输出格式: 根据给定的索引打印 R-fibonacci 序列中的值。
示例输入: 1 3 3 4 8 11
样本输出: 11 76 322
我有为上述程序生成斐波那契数列的代码,但我想在 4、8、11 索引处显示值。代码如下:
int fib(int n)
{
int f[n+1];
int i;
f[0]=1;
f[1]=3;
for(i=2;i<=n;i++)
{
f[i]=f[i-1]+f[i-2];
}
return f[n];
}
int main()
{
int n=11
printf("%d ",fib(n));
getchar();
return 0;
}
【问题讨论】:
-
OT 但关于这个系列的有趣(对我而言)事实是每个术语
n变得越来越接近Φ**n。 (Φ黄金比例)。 -
是的,但是有没有办法可以创建一个新数组并将系列中生成的值映射为数组索引值? @WeatherVane
-
@WeatherVane 据我所知,这些值将是黄金比例,因为这些值将呈指数级增长
-
您可以在
main中定义数组作为函数参数传递。 -
@WeatherVane 你能告诉我怎么做吗?因为,我试图让它从过去 2 小时左右开始工作。我现在正在生成该系列。但我无法提取第 4,8 和第 11 个索引处的值
标签: c dynamic-programming fibonacci