如何从此斐波纳契的For循环中返回值?
现在它只返回 发送= 0 。
我的目标是将值放入Main方法的列表中。
public static int Fibo( int count)
{
int i, f1 = 0, f2 = 1, send = 0;
for (i = 0; i <= count; i++)
{
int f3 = f1 + f2;
f3 = send;
f1 = f2;
f2 = f3;
}
return send;
}
答案 0 :(得分:1)
如果你想返回&#34;发送&#34;您需要在代码的某个时刻写出&#34; send = f3;&#34;
答案 1 :(得分:0)
如果要将数字具体化为列表,为什么不实现IEnumerable<int>
生成器?关键功能是使用yield return
(返回并继续执行例程)而不是return
。
public static IEnumerable<int> Fibo() {
int left = 0;
int right = 1;
yield return left;
yield return right;
while (true) {
int result = left + right;
// returning from a loop while keep on looping
yield return result;
left = right;
right = result;
}
}
...
List<int> myList = Fibo().Take(10);