Advertisement
vkv1986

Quadronacci

Jan 8th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.97 KB | None | 0 0
  1. using System;
  2.  
  3. class Quadronacci
  4. {
  5.     static void Main()
  6.     {
  7.         long prePrePreviousNumber = long.Parse(Console.ReadLine());
  8.         long prePreviousNumber = long.Parse(Console.ReadLine());
  9.         long previousNumber = long.Parse(Console.ReadLine());
  10.         long currentNumber = long.Parse(Console.ReadLine());
  11.         byte rows = byte.Parse(Console.ReadLine());
  12.         byte columns = byte.Parse(Console.ReadLine());
  13.         int targetNumber = rows * columns;
  14.         long[,] matrix = new long[rows, columns];
  15.        
  16.         if (targetNumber == 1)
  17.         {
  18.             matrix[0,0] = prePrePreviousNumber;
  19.         }
  20.         else if (targetNumber == 2)
  21.         {
  22.             matrix[0,0] = prePrePreviousNumber;
  23.             matrix[0,1] = prePreviousNumber;
  24.         }
  25.         else if (targetNumber == 3)
  26.         {
  27.             matrix[0, 0] = prePrePreviousNumber;
  28.             matrix[0, 1] = prePreviousNumber;
  29.             matrix[0, 2] = previousNumber;
  30.         }
  31.         else if (targetNumber == 4)
  32.         {
  33.             matrix[0, 0] = prePrePreviousNumber;
  34.             matrix[0, 1] = prePreviousNumber;
  35.             matrix[0, 2] = previousNumber;
  36.             matrix[0, 3] = currentNumber;
  37.         }
  38.         else
  39.         {
  40.             matrix[0, 0] = prePrePreviousNumber;
  41.             matrix[0, 1] = prePreviousNumber;
  42.             matrix[0, 2] = previousNumber;
  43.             matrix[0, 3] = currentNumber;
  44.             for (int count = 0; count < rows; count++)
  45.             {
  46.                 if (count == 0)
  47.                 {
  48.                     for (int position = 4; position < columns; position++)
  49.                     {
  50.                         long nextNumber = prePrePreviousNumber + prePreviousNumber + previousNumber + currentNumber;
  51.                         matrix[count, position] = nextNumber;
  52.                         prePrePreviousNumber = prePreviousNumber;
  53.                         prePreviousNumber = previousNumber;
  54.                         previousNumber = currentNumber;
  55.                         currentNumber = nextNumber;
  56.                     }
  57.                 }
  58.                 else
  59.                 {
  60.                     for (int position = 0; position < columns; position++)
  61.                     {
  62.                         long nextNumber = prePrePreviousNumber + prePreviousNumber + previousNumber + currentNumber;
  63.                         matrix[count, position] = nextNumber;
  64.                         prePrePreviousNumber = prePreviousNumber;
  65.                         prePreviousNumber = previousNumber;
  66.                         previousNumber = currentNumber;
  67.                         currentNumber = nextNumber;
  68.                     }
  69.                 }
  70.             }
  71.         }
  72.         for (int count = 0; count < rows; count++)
  73.         {
  74.             for (int position = 0; position < columns; position++)
  75.             {
  76.                 Console.Write("{0} ", matrix[count, position]);
  77.             }
  78.             Console.WriteLine();
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement