Skip to main content

Fibonacci Java

Question


  • You are given a number n.
  • You are required to print the nth element of the Fibonacci sequence.

Note -> Notice precisely how we have defined the Fibonacci sequence

0th element -> 0
1st element -> 1
2nd element -> 1
3rd element -> 2
4th element -> 3
5th element -> 5
6th element -> 8

Input Format

A number n

Constraints

0 <= n <= 45

Sample Input

10

Sample Output

55

Program

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
        // write your code here
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        int ans = fib(n, new int[n + 1]);
        System.out.println(ans);
    }
    
    public static int fib(int n, int[] qb){
        if(n == 0 || n == 1){
            return n;
        }
        if(qb[n] != 0){
            return qb[n];
        }
        
        int fib1 = fib(n - 1, qb);
        int fib2 = fib(n - 2, qb);
        int fibs = fib1 + fib2;
        
        qb[n] = fibs;
        return fibs;
    }

}

Comments

Popular posts from this blog

Tic Tac Toe Python 3: The Standard Tic-Tac-Toe Game in Python 3

I just finished Tic tac toe game as my first python project. This is a very simple classic game, for beginners in programming tic-tac-toe game is the best choice. I am using Jupyter notebook, you can use any python ide like Pycharm, Spyder etc. Scenario of tic-tac-toe game: Your task is to write a simple program which pretends to play  Tic-tac-toe game with the user.  To make it easier for you. We have decided to simplify the game. Here are our assumptions. the computer should play a game using 'X' the user should play a game using 'O' the first move belongs to the computer, it always 'X' in the middle of the board.  all squares are numbered row by row, start with '1'. the user move is to enter the number of the square they choose, the number must be valid, that is it must be an integer, it must be greater than  0 and less than 10, and it cannot point to a field which is already occupied. the program checks the ga

Merge Sort In Java

Question You are given an array(arr) of integers. You have to sort the given array in increasing order using merge sort. Input Format An Integer n arr1 arr2.. n integers Constraints 1 <= N <= 100000 -10^9 <= arr[i] <= 10^9 Sample Input 5 7 -2 4 1 3 Sample Output Merging these two arrays left array -> 7 right array -> -2 Merging these two arrays left array -> -2 7 right array -> 4 Merging these two arrays left array -> 1 right array -> 3 Merging these two arrays left array -> -2 4 7 right array -> 1 3 Sorted Array -> -2 1 3 4 7 Program import java.io.*; import java.util.*; public class Main { public static int[] mergeSort(int[] arr, int lo, int hi) { //write your code here if(lo == hi){ int[] ba = new int[1]; ba[0] = arr[lo]; return ba; } int mid = (lo + hi) / 2; int[] fsh = mergeSort(arr, lo, mid); int[] ssh = mergeSort(arr, mid + 1, hi); int[]

Java Program: To Check If A Number Is Prime In Java

In this java program, we have one positive input and check whether the given number is prime or not. Read what is Prime Number . The simple case to check prime number we do, if (number % 2 == 0){ print("Not prime");} else { print("is prime");} But its complexity is much high if we use for loop . To decrease the complexity of the program read below question and solution. Tic Tac Toe Python 3: The Standard Tic-Tac-Toe Game in Python 3 Java Program: Question You've to check whether a given number is prime or not. A number "t" as input representing a count of input numbers to be tested. Number "n" as input "t" number of times. For each input value of n, print "prime" if the number is prime and "not prime" otherwise. Explanation and sample input Input Format : t n A number n .. t number of times Output Format : prime not prime not prime .. t number of times Constraint

Prime Number Program in Java: Print All Prime Numbers

Question You've to print all prime numbers between a range. Take as input "low", the lower limit of the range. Take as input "high", the higher limit of the range. For the range print all the primes numbers between low and high (both included). Input Format low high Output Format n1 n2 .. all primes between low and high (both included) Constraints 2 <= low < high < 10 ^ 6 Sample Input 6 24 Sample Output 7 11 13 17 19 23 Program import java.util.*; public class Main{ public static void main(String[] args) { // write your code here Scanner scn = new Scanner(System.in); int low = scn.nextInt(); int high = scn.nextInt(); for (int i = low; i <= high; i++){ int count = 0; //try to divide n and incrtease count for (int div = 2; div * div <= i; div++){ if ( i % div == 0){ count++;

Quick Sort In Java

Question You are given an array(arr) of integers. You have to sort the given array in increasing order using quicksort. Input Format An Integer n arr1 arr2.. n integers Constraints 1 <= N <= 100000 -10^9 <= arr[i] <= 10^9 Sample Input 5 7 -2 4 1 3 Sample Output pivot -> 3 Swapping -2 and 7 Swapping 1 and 7 Swapping 3 and 4 pivot index -> 2 pivot -> 1 Swapping -2 and -2 Swapping 1 and 1 pivot index -> 1 pivot -> -2 Swapping -2 and -2 pivot index -> 0 pivot -> 4 Swapping 4 and 7 pivot index -> 3 pivot -> 7 Swapping 7 and 7 pivot index -> 4 -2 1 3 4 7 Program import java.io.*; import java.util.*; public class Main { public static void quickSort(int[] arr, int lo, int hi) { //write your code here if(lo > hi){ return; } int pivot = arr[hi]; int pidex = partition(arr, pivot, lo, hi); quickSort(arr, lo, pidex - 1); quickSort(arr, pidex + 1, hi); } public

Count Sort In Java

Question You are given an array(arr) of integers. You have to sort the given array in increasing order using count sort. Input Format An Integer n arr1 arr2.. n integers Constraints 1 <= N <= 10000 0 <= arr[i] <= 10^8 Sample Input 5 7 -2 4 1 3 Sample Output -2 1 3 4 7 Program import java.io.*; import java.util.*; public class Main { public static void countSort(int[] arr, int min, int max) { //write your code here int[] frqa = new int[max - min + 1]; for(int i = 0; i < arr.length; i++){ int val = arr[i]; int pos = val - min; frqa[pos]++; } for(int i = 1; i < frqa.length; i++){ frqa[i] = frqa[i] + frqa[i - 1]; } int[] ans = new int[arr.length]; for(int i = arr.length - 1; i >= 0; i--){ int val = arr[i]; int pos = val - min; int idx = frqa[pos] - 1; ans[idx] = val; frqa[pos]--; } for(int i = 0; i < arr.length;