Написать метод Фибоначчи - C#
Формулировка задачи:
Надо написать метод Фибоначчи, но не вводить количество чисел, а получить максимальное и на нем остановиться.
Помогите, пожалуйста, сделать правильный вывод, не все пары чисел работают.
using System;
using System.Collections.Generic;
class Program
{
static int SetKoef(ref int n)
{
Console.Write("Введите начало отрезка : ");
int segment_begin = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите конец отрезка : ");
int segment_end = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите эпсилон : ");
int epsilon = Convert.ToInt32(Console.ReadLine());
while (segment_begin < segment_end)
{
n = (segment_end - segment_begin) / epsilon;
return n;
}
return n;
}
static void Main(string[] args)
{
int n = 0;
SetKoef(ref n);
List<int> numbers = new List<int>();
numbers.Add(0);
numbers.Add(1);
for (int i = 0; i < (n - 2); i++)
numbers.Add(numbers[numbers.Count - 1] + numbers[numbers.Count - 2]);
foreach (int temp in numbers)
if(temp<n)
Console.WriteLine(temp+ " ");
Console.WriteLine("{0}", n);
Console.Read();
}
}
ап!
Решение задачи: «Написать метод Фибоначчи»
textual
Листинг программы
n = (segment_end - segment_begin) / epsilon