Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace CrossingSequences
- {
- class CrossingSequences
- {
- static void Main()
- {
- int fibonacci1 = int.Parse(Console.ReadLine());
- int fibonacci2 = int.Parse(Console.ReadLine());
- int fibonacci3 = int.Parse(Console.ReadLine());
- int spiralInitial = int.Parse(Console.ReadLine());
- int spiralStep = int.Parse(Console.ReadLine());
- List<int> fibonacci = new List<int>();
- List<int> fiboFinal = new List<int>();
- List<int> spiralSeq = new List<int>();
- List<int> spiralFinal = new List<int>();
- fibonacci.Add(fibonacci1);
- fibonacci.Add(fibonacci2);
- fibonacci.Add(fibonacci3);
- spiralSeq.Add(spiralInitial);
- spiralSeq.Add(spiralInitial + spiralStep);
- spiralSeq.Add(spiralInitial + 2 * spiralStep);
- for (int i = 0, j=1, k=2; i < 200; i++)
- {
- if (fibonacci[i] > 1000000)
- {
- break;
- }
- else
- {
- fibonacci.Add(fibonacci[i] + fibonacci[j] + fibonacci[k]);
- j++;
- k++;
- }
- }
- for (int i = 0; i < fibonacci.Count; i++)
- {
- if (fibonacci[i] <= 1000000)
- {
- fiboFinal.Add(fibonacci[i]);
- }
- }
- for (int i = spiralInitial+2*spiralStep, j = 2; i <= 1000000; )
- {
- spiralSeq.Add(i + spiralStep * j);
- spiralSeq.Add(i + spiralStep * j*2);
- i = i + spiralStep * j * 2;
- j++;
- }
- for (int i = 0; i < spiralSeq.Count; i++)
- {
- if (spiralSeq[i] <= 1000000)
- {
- spiralFinal.Add(spiralSeq[i]);
- }
- }
- List<int> common = fiboFinal.Intersect(spiralSeq).ToList();
- if (common.Count==0)
- {
- Console.WriteLine("No");
- return;
- }
- else
- {
- Console.WriteLine(common.Min());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment