Skip to main content
2 of 10
deleted 4 characters in body
Martin Ender
  • 198.3k
  • 67
  • 455
  • 999

Multiplying substrings

Write a program that takes two integers as an input; the first can be any integer and the second is less than or equal to the number of digits in the first number. Let these numbers be a and b respectively.

The program will do the following

  • Concatenate a minimal number of 1s to the end of a so the number of digits in a is divisible by b.
  • Split a along every b digits.
  • Multiply the digits in each section together.
  • Concatenate the products together (if one of the numbers is zero, then concatenate 0).
  • Repeat this process until a number with strictly fewer than b digits is formed. Print this as the output, as well as the number of the process is repeated in units of iterations.

Test case 1

1883915502469, 3

Steps

1883915502469 //Iteration 1 188391550246911 188 391 550 246 911 64 27 0 48 9 64270489 //Iteration 2 642704891 642 704 891 48 0 72 48072 //Iteration 3 480721 480 721 0 14 014 //Iteration 4 0 

Sample Output: 0 (4 iterations)

Test case 2

792624998126442, 4

Steps

792624998126442 //Iteration 1 7926249981264421 7926 2499 8126 4421 756 648 96 32 7566489632 //Iteration 2 756648963211 7566 4896 3211 1260 1728 6 126017286 //Iteration 3 126017286111 1260 1728 6111 0 112 6 01126 //Iteration 4 01126111 0112 6111 0 6 06 

Sample Output: 06 (4 iterations)


The program must not run (or display an error) if b>a.


This is code golf, fellas. Standard rules apply. Shortest code in bytes wins.

Arcturus
  • 7.4k
  • 1
  • 32
  • 77