Categories
Visual C# Телерик

Задача: Tribonacci Triangle

Решение

using System;

namespace TribonacciTriangle {
  class Program {
    static void Main() {
      long firstNumber = long.Parse(Console.ReadLine());
      long secondNumber = long.Parse(Console.ReadLine());
      long thirdNumber = long.Parse(Console.ReadLine());
      int linesCount = int.Parse(Console.ReadLine());

      Console.WriteLine(firstNumber);
      Console.WriteLine(secondNumber + " " + thirdNumber);

      int membersCount = 0;
      for (int i = 1; i <= linesCount; i++) {
        membersCount += i;
      }
      int nextLine = 3;
      int lineSize = 0;
      for (int i = 4; i <= membersCount; i++) {
        long currentNumber = firstNumber + secondNumber + thirdNumber;
        firstNumber = secondNumber;
        secondNumber = thirdNumber;
        thirdNumber = currentNumber;
        Console.Write(currentNumber + " ");
        lineSize++;
        if (lineSize == nextLine) {
          Console.WriteLine();
          nextLine += 1;
          lineSize = 0;
        }
      }
    }
  }
}
Categories
Без категория

Задача: Tribonacci

Описание

Редицата на Трибоначи е редица, в която всеки следващ елемент се получава от сумата на предходните три елемента на редицата.

Tn = Tn-1 + Tn-2 + Tn-3

Напишете програма, която намира n-тият елемент на редицата на Трибоначи, ако са дадени първите три елемента на редицата и номерът на n-тия елемент.

Първоначално решение

Коментар

Това решение не е добро, защото N може да е число от 1 до 15000 включително, а T1, T2 и T3 – числа от -2000000 до 2000000. В решението масивът T се запълва с всички елементи на редицата.

Ново решение

Коментар

В това решение последните три члена на редицата се пазят в променливите T1, T2 и Т3. Масиви не се използват.