Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Numerics;
- namespace CrossingSequences
- {
- class CrossingSequences
- {
- const int size = 1000000;
- public static bool GetTribonacci(BigInteger firstTribNum, BigInteger secondTribNum,
- BigInteger thirdTribNum, BigInteger spiralStart)
- {
- BigInteger tribonacci = firstTribNum + secondTribNum + thirdTribNum;
- if (firstTribNum > spiralStart)
- {
- return false;
- }
- if ((firstTribNum == spiralStart) && (firstTribNum <= size))
- {
- return true;
- }
- BigInteger a = secondTribNum;
- BigInteger b = thirdTribNum;
- BigInteger c = tribonacci;
- return GetTribonacci(a, b, c, spiralStart);
- }
- public static void Main()
- {
- int firstTribNum = int.Parse(Console.ReadLine());
- int secondTribNum = int.Parse(Console.ReadLine());
- int thirdTribNum = int.Parse(Console.ReadLine());
- int spiralStart = int.Parse(Console.ReadLine());
- int spiralStep = int.Parse(Console.ReadLine());
- bool checkForEquals = false;
- int counter = 0;
- int step = spiralStep;
- for (int i = spiralStart; i <= size; i++)
- {
- checkForEquals = GetTribonacci(firstTribNum, secondTribNum, thirdTribNum, spiralStart);
- if (checkForEquals)
- {
- Console.WriteLine(spiralStart);
- return;
- }
- if ((counter >= 2) && (counter % 2 == 0))
- {
- spiralStep += step;
- }
- spiralStart += spiralStep;
- counter++;
- }
- Console.WriteLine("No");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment