Joreto

Multiply Big Number

Jul 7th, 2023
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.26 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class P05MultiplyBigNumber{
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.  
  7.         String largeNumber = scanner.nextLine();
  8.         int singleDigit = Integer.parseInt(scanner.nextLine());
  9.  
  10.         String product = calculateProduct(largeNumber, singleDigit);
  11.         System.out.println(product);
  12.     }
  13.  
  14.     private static String calculateProduct(String largeNumber, int singleDigit) {
  15.         if (singleDigit == 0 || largeNumber.equals("0")) {
  16.             return "0";
  17.         }
  18.  
  19.         int startIndex = 0;
  20.         while (startIndex < largeNumber.length() && largeNumber.charAt(startIndex) == '0') {
  21.             startIndex++;
  22.         }
  23.  
  24.         StringBuilder productBuilder = new StringBuilder();
  25.         int carry = 0;
  26.  
  27.         for (int i = largeNumber.length() - 1; i >= startIndex; i--) {
  28.             int digit = Character.getNumericValue(largeNumber.charAt(i));
  29.             int product = digit * singleDigit + carry;
  30.             carry = product / 10;
  31.             product %= 10;
  32.             productBuilder.insert(0, product);
  33.         }
  34.  
  35.         if (carry > 0) {
  36.             productBuilder.insert(0, carry);
  37.         }
  38.  
  39.         return productBuilder.toString();
  40.     }
  41. }
  42.  
Advertisement
Add Comment
Please, Sign In to add comment