Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _4.CrossingSequences
- {
- using System;
- using System.Collections.Generic;
- public class CrossingSequences
- {
- private const int MAX = 1000000;
- public static void Main(string[] args)
- {
- checked
- {
- int tribNum1 = int.Parse(Console.ReadLine());
- int tribNum2 = int.Parse(Console.ReadLine());
- int tribNum3 = int.Parse(Console.ReadLine());
- int spiralNum = int.Parse(Console.ReadLine());
- int step = int.Parse(Console.ReadLine());
- if (tribNum1 != spiralNum && tribNum2 != spiralNum && tribNum3 != spiralNum)
- {
- List<int> seqTribonacci = CalculateTribonacciSequenceAndCreateList(tribNum1, tribNum2, tribNum3);
- bool foundCrossedNum = false;
- int counter = 1;
- while (spiralNum <= MAX)
- {
- if (seqTribonacci.Contains(spiralNum))
- {
- foundCrossedNum = true;
- Console.WriteLine(spiralNum);
- break;
- }
- spiralNum += step * (counter / 2);
- counter++;
- }
- if (!foundCrossedNum)
- {
- Console.WriteLine("No");
- }
- }
- else
- {
- Console.WriteLine(spiralNum);
- }
- }
- }
- private static List<int> CalculateTribonacciSequenceAndCreateList(int tribNum1, int tribNum2, int tribNum3)
- {
- checked
- {
- List<int> numbers = new List<int>(MAX) { tribNum1, tribNum2, tribNum3 };
- int sum = 0;
- do
- {
- sum = tribNum1 + tribNum2 + tribNum3;
- if (sum <= MAX)
- {
- numbers.Add(sum);
- }
- tribNum1 = tribNum2;
- tribNum2 = tribNum3;
- tribNum3 = sum;
- }
- while (sum < MAX);
- return numbers;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement