Advertisement
g-stoyanov

Task04CrossingSequences

Apr 14th, 2014
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1. namespace Task04CrossingSequences
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.  
  6.     class Program
  7.     {
  8.         static void Main()
  9.         {
  10.             int firstTribNum = int.Parse(Console.ReadLine());
  11.             int secondTribNum = int.Parse(Console.ReadLine());
  12.             int thirdTribNum = int.Parse(Console.ReadLine());
  13.             int spiralStartNum = int.Parse(Console.ReadLine());
  14.             int spiralStep = int.Parse(Console.ReadLine());
  15.             List<int> tribNums = new List<int>();
  16.             tribNums.Add(firstTribNum);
  17.             tribNums.Add(secondTribNum);
  18.             tribNums.Add(thirdTribNum);
  19.             List<int> spiralNums = new List<int>();
  20.             int nextTrib = firstTribNum + secondTribNum + thirdTribNum;
  21.             while (nextTrib <= 1000000)
  22.             {
  23.                 tribNums.Add(nextTrib);
  24.                 nextTrib = tribNums[tribNums.Count - 1] +
  25.                     tribNums[tribNums.Count - 2] +
  26.                     tribNums[tribNums.Count - 3];
  27.             }
  28.  
  29.             while (spiralStartNum <= 1000000)
  30.             {
  31.                 spiralNums.Add(spiralStartNum);
  32.                 spiralStartNum += spiralStep;
  33.             }
  34.  
  35.             bool numberFounded = false;
  36.             int count = -1;
  37.             int turn = 0;
  38.             for (int i = 0; i < spiralNums.Count; i++)
  39.             {
  40.                
  41.                 for (int a = 0; a < turn; a++)
  42.                 {
  43.                     i++;
  44.                 }
  45.  
  46.                 count++;
  47.                 if (tribNums.Contains(spiralNums[i]))
  48.                 {
  49.                     numberFounded = true;
  50.                     Console.WriteLine(spiralNums[i]);
  51.                     break;
  52.                 }
  53.  
  54.                 if (count == 2)
  55.                 {
  56.                     turn++;
  57.                     count = 0;
  58.                 }
  59.             }
  60.  
  61.             if (!numberFounded)
  62.             {
  63.                 Console.WriteLine("No");
  64.             }
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement