Advertisement
dimipan80

C#Exams 4. Crossing Sequences (on Java Code)

Aug 22nd, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.87 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class _4_CrossingSequences {
  5.  
  6.     private final static int MaxNum = 1000000;
  7.  
  8.     public static void main(String[] args) {
  9.         // TODO Auto-generated method stub
  10.         Scanner scan = new Scanner(System.in);
  11.         int tribNum1 = scan.nextInt();
  12.         int tribNum2 = scan.nextInt();
  13.         int tribNum3 = scan.nextInt();
  14.         int startNum = scan.nextInt();
  15.         int step = scan.nextInt();
  16.  
  17.         boolean foundBothSeqNumber = false;
  18.         if (startNum != tribNum1 && startNum != tribNum2
  19.                 && startNum != tribNum3) {
  20.             ArrayList<Integer> tribSeq = calculateAndCreateTribonacciSequence(
  21.                     tribNum1, tribNum2, tribNum3);
  22.             foundBothSeqNumber = findHasNumberInBothSequencesAndPrintHim(
  23.                     startNum, step, foundBothSeqNumber, tribSeq);
  24.  
  25.         } else {
  26.             foundBothSeqNumber = true;
  27.             System.out.println(startNum);
  28.         }
  29.  
  30.         if (!foundBothSeqNumber) {
  31.             System.out.println("No");
  32.         }
  33.     }
  34.  
  35.     private static boolean findHasNumberInBothSequencesAndPrintHim(int start,
  36.             int step, boolean foundBothSeqNumber, ArrayList<Integer> tribSeq) {
  37.         int spiralNum = start;
  38.         int counter = 1;
  39.         while (spiralNum <= MaxNum) {
  40.             if (tribSeq.contains(spiralNum)) {
  41.                 foundBothSeqNumber = true;
  42.                 System.out.println(spiralNum);
  43.                 break;
  44.             }
  45.  
  46.             spiralNum += step * (counter / 2);
  47.             counter++;
  48.         }
  49.         return foundBothSeqNumber;
  50.     }
  51.  
  52.     private static ArrayList<Integer> calculateAndCreateTribonacciSequence(
  53.             int trib1, int trib2, int trib3) {
  54.         // TODO Auto-generated method stub
  55.         ArrayList<Integer> tribonacci = new ArrayList<Integer>();
  56.         tribonacci.add(trib1);
  57.         tribonacci.add(trib2);
  58.         tribonacci.add(trib3);
  59.         int tribN = 0;
  60.         do {
  61.             tribN = trib1 + trib2 + trib3;
  62.             trib1 = trib2;
  63.             trib2 = trib3;
  64.             trib3 = tribN;
  65.             if (tribN <= MaxNum) {
  66.                 tribonacci.add(tribN);
  67.             }
  68.         } while (tribN < MaxNum);
  69.  
  70.         return tribonacci;
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement