Skip to main content

Play febnocci and factorial on BigNumbers ...

BigNumberOperations.java
---------------------------------------------

package com.blogspot.developerssbrain;

import java.math.BigDecimal;

public class BigNumberOperations {

    static BigDecimal factorial(int n){
        BigDecimal fact=new BigDecimal("1");
        while(n>0){
            fact=fact.multiply(new BigDecimal(n));
            n--;
        }
        return fact;
    }
   
    static BigDecimal febnocci(int n){
        BigDecimal i=new BigDecimal("1");
        BigDecimal j=new BigDecimal("1");
        while(n-2>0){
            j=j.add(i);
            i=j.subtract(i);
            n--;
        }
        return j;
    }
   
    public static void main(String[] args) {
        //Factorial of 5
        System.out.println("Factorial of 5");
        System.out.println(factorial(5));
        System.out.println();
       
        //Factorial of 300
        System.out.println("Factorial of 300!!!");
        System.out.println(factorial(300));   
        System.out.println();
       
        //10th febnocci number
        System.out.println("10th febnocci number");
        System.out.println(febnocci(10));
        System.out.println();
       
        //Febnocci of 400
        System.out.println("1000th febnocci number");
        System.out.println(febnocci(1000));
        System.out.println();
    }

}

Output:
----------------------------
Factorial of 5
120

Factorial of 300!!!
306057512216440636035370461297268629388588804173576999416776741259476533176716867465515291422477573349939147888701726368864263907759003154226842927906974559841225476930271954604008012215776252176854255965356903506788725264321896264299365204576448830388909753943489625436053225980776521270822437639449120128678675368305712293681943649956460498166450227716500185176546469340112226034729724066333258583506870150169794168850353752137554910289126407157154830282284937952636580145235233156936482233436799254594095276820608062232812387383880817049600000000000000000000000000000000000000000000000000000000000000000000000000

10th febnocci number
55

1000th febnocci number
43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875





Comments

Post a Comment

Popular posts from this blog

CODILITY: Determine whether given string of parentheses is properly nested.

Task description A string S consisting of N characters is called  properly nested  if: S is empty; S has the form " (U) " where U is a properly nested string; S has the form " VW " where V and W are properly nested strings. For example, string " (()(())()) " is properly nested but string " ()) " isn't. Write a function: class Solution { public int solution(String S); } that, given a string S consisting of N characters, returns 1 if string S is properly nested and 0 otherwise. For example, given S = " (()(())()) ", the function should return 1 and given S = " ()) ", the function should return 0, as explained above. Assume that: N is an integer within the range [ 0 .. 1,000,000 ]; string S consists only of the characters " ( " and/or " ) ". Complexity: expected worst-case time complexity is O(N); expected worst-case space complexity is O(1) (not counting the storage requi...

Distinct: Compute number of distinct values in an array.

Task description Write a function class Solution { public int solution(int[] A); } that, given a zero-indexed array A consisting of N integers, returns the number of distinct values in array A. Assume that: N is an integer within the range [ 0 .. 100,000 ]; each element of array A is an integer within the range [ −1,000,000 .. 1,000,000 ]. For example, given array A consisting of six elements such that: A[0] = 2 A[1] = 1 A[2] = 1 A[3] = 2 A[4] = 3 A[5] = 1 the function should return 3, because there are 3 distinct values appearing in array A, namely 1, 2 and 3. Complexity: expected worst-case time complexity is O(N*log(N)); expected worst-case space complexity is O(N), beyond input storage (not counting the storage required for input arguments). Elements of input arrays can be modified. class Solution { public int solution ( int [] A) { // write your code in Java SE 8 int len=A.length; int count= 1 ; ...

change directory (cd) function for an abstract file system ( Java Implementation )

Write a function that provides change directory (cd) function for an abstract file system. Notes: Root path is '/'. Path separator is '/'. Parent directory is addressable as "..". Directory names consist only of English alphabet letters (A-Z and a-z). For example, new Path("/a/b/c/d").cd("../x").getPath() should return "/a/b/c/x". Note: The evaluation environment uses '\' as the path separator. public class Path {     private String path;     public Path(String path) {         this.path = path;     }     public String getPath() {         return path;     }     public Path cd(String newPath) {         //throw new UnsupportedOperationException("Waiting to be implemented."); String[] newP=newPath.split("/");     String[] oldP=path.split("/");     int lnCount=0;     for(String str:newP){     if(st...