GitHub
Article

The Story Of Black Alpha-> the-story-of-black-alpha

View More
Quotes
"A superior man is modest in his speech, but exceeds in his actions."
View More
Poems
Do not go gentle into that good night
View More
Coding
big-factorial
import java.util.Scanner; /** * Program to find factorial for n, where 1 <= n <= 100. Solution for codechef.com * * @author Amit Kumar (allyamit@gmail.com) * @since 28-May-2017 */ public class Main { // this stores the result limit private final static int M_INDEX = 199; public static void main(String[] args) { try { Scanner scan = new Scanner(System.in); Integer times = scan.nextInt(); int inputNumbers[] = new int[100]; for (int i = 0; i < times; i++) { inputNumbers[i] = scan.nextInt(); } for (int i = 0; i < times; i++) { display(factorial(inputNumbers[i])); System.out.println(); } scan.close(); } catch (Exception e) { System.out.println(e.getMessage()); } } /** Convert the number into array integer. */ private static int[] convertNumberToArray(int x) { int[] number = new int[200]; int index = 0; int lastDigit; // Store x number into result while (x > 0) { lastDigit = x % 10; number[index] = lastDigit; x /= 10; index++; } number[M_INDEX] = index; return number; } /** Multiply the BigNumber generated with the second number. */ private static int[] multiply(int[] x, int y) { int[] result = new int[200]; int singleDigitMultiplyResult; int carry = 0; int resultIndex = 0; int lastDigit; for (int i = 0; i < x[M_INDEX]; i++) { singleDigitMultiplyResult = (x[i] * y) + carry; lastDigit = (singleDigitMultiplyResult) % 10; carry = singleDigitMultiplyResult / 10; result[resultIndex] = lastDigit; resultIndex++; } int[] car = convertNumberToArray(carry); for (int i = 0; i < car[M_INDEX]; i++) { result[resultIndex] = car[i]; resultIndex++; } result[M_INDEX] = resultIndex; return result; } /** Find the factorial */ private static int[] factorial(int n) { if (n == 1) return convertNumberToArray(1); return multiply(factorial(n - 1), n); } /** Display the result in the codechef.com format */ private static void display(int[] result) { for (int i = result[M_INDEX] - 1; i >= 0; i--) { System.out.print(result[i]); } } }
View More
Veiw More
Code
divisible-by-11
Veiw More
Code
big-factorial
Veiw More
Code
generate-unique-orderid-or-transactionid
Veiw More
Do not go gentle into that good night
Veiw More
How Do I Love Thee
Veiw More
Shall I compare thee to a summer’s day?
Veiw More
ACE Rank Journey
Veiw More
Spend $86400
Veiw More
Talent Vs Communication
Veiw More
Zero to One: Notes on Start Ups, or How to Build the Future