Создать базовый класс для генерации последовательностей чисел и 3 дочерних: Фибоначчи, трибоначчи и Люка - C#

Узнай цену своей работы

Формулировка задачи:

Ребята - программисты помогите пожалуйста. Нужно сделать программу, в которой будет базовый класс для генерации последовательностей чисел и 3 дочерних класса реализующих последовательности Фибоначчи, трибоначчи и Люка. Сама программа будет просить ввести количество чисел N, создавать по очереди все 3 класса, генерировать списки чисел и выводить их на экран. Мой код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Math;
using System.Object;
using.System.Random;

namespace Zadacha
{
    
    public class Fibonachi
    {
        Random rand = new Random();
        int N = Random.Next(0, 1000);
        public int N;
        Console.WriteLine("Vvedite N:" + N);
        long n;
        //Fibonachi = override.Fib;
        F0 = 0;
        F1 = 1;
        //for((Fibonachi = F(N - 1) + F(N - 2)); 
        
        for(int i = 0; int < N;)
 
    }
}
П.С. Я только учусь программировать, критика принимается любая

Решение задачи: «Создать базовый класс для генерации последовательностей чисел и 3 дочерних: Фибоначчи, трибоначчи и Люка»

textual
Листинг программы
abstract class NumberSequence : IEnumerable<int>
{
    protected List<int> Cache;
    protected Func<int> SetNext; 
    public int this[int n]
    {
        get
        {
            while (n >= Cache.Count)
            {
                SetNext();
            }
            return Cache[n];
        }
    }
 
 
 
    public IEnumerator<int> GetEnumerator()
    {
        foreach (var n in Cache)
        {
            yield return n;
        }
        while (true)
        {
            yield return SetNext();
        }
    }
 
    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}
 
class Fibonacci : NumberSequence
{
    public Fibonacci()
    {
        Cache = new List<int> {0, 1};
        SetNext = () =>
        {
            int n = Cache.Count;
            var result = Cache[n - 1] + Cache[n - 2];
            Cache.Add(result);
            return result;
        };
    }
}
 
class Tribonacci : NumberSequence
{
    public Tribonacci()
    {
        Cache = new List<int> { 0, 0, 1 };
        SetNext = () =>
        {
            int n = Cache.Count;
            var result = Cache[n - 1] + Cache[n - 2] + Cache[n - 3];
            Cache.Add(result);
            return result;
        };
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы