Advertisement
brilliant_moves

FibonacciTest.java

May 29th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.16 KB | None | 0 0
  1. //import java.util.Scanner;
  2. //import java.text.DecimalFormat;
  3.  
  4. public class FibonacciTest {
  5.     public static void main(String[] args) {
  6.  
  7.         //Scanner in = new Scanner(System.in);
  8.         //System.out.print("Enter number for fibonacci: ");
  9.         //int input = in.nextInt();
  10.  
  11.         int input = 46;
  12.  
  13.         if (input<=46) {
  14.             System.out.println( "Using iteration:");
  15.             System.out.println( "The "+input+"th fibonacci is "+fibonacci( input));
  16.             System.out.println( "Using recursion:");
  17.             System.out.println( "The "+input+"th fibonacci is "+getNthFibonacci( input));
  18.         } else {
  19.             System.out.println("Number too big! Max is 46");
  20.         } // end if
  21.  
  22.     } // end main()
  23.  
  24.     // fast method
  25.     public static int fibonacci(int input) {
  26.         int a = 0;
  27.         int b = 1;
  28.  
  29.         for (int i = 0; i < input; i++) {
  30.             a += b;
  31.             b = a - b;
  32.             if (a<0) return 0;
  33.             //System.out.println("Term "+(i+1)+": "+a);
  34.         }
  35.         return a;
  36.     } // end fibonacci()
  37.  
  38.     // get the nth Fibonacci number using recursion: sloooow for numbers 40-46
  39.     public static int getNthFibonacci(int n) {
  40.         if (n < 3) return 1;
  41.         return getNthFibonacci(n-2) + getNthFibonacci(n-1);
  42.     } // end getNthFibonacci()
  43.  
  44. } // end class FibonacciTest
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement