The product of by is stable if the digits of and on one hand, and the digits of on the other hand, are the same ones.
For instance, the product is stable because in the both sides there is a 0, two 5, a 6, a 7 and a 8.
This property can be extended to other bases different of 10. For instance, the product of 3 by 53 is stable in base 2: because in both sides there are two 0 and six 1.
Your task is to write a program that, given a sequence of pairs and , prints which bases between 2 and 16 (both included) the product is stable for.
To solve this problem, you must implement and use the function
bool same_digits(int x, int y, int b);
that indicates if, in base (), and in one hand, and in the other one, have the same digits.
You must implement and use also the procedure
void print(int n, int b);
that prints in base in the screen (just like that, without spaces nor line feeds).
The input is a sequence of pairs of natural numbers and . , , are fulfilled. You can assume this information as a precondition of your procedures.
For each pair and , print which bases the product is stable for. If there is not any base, print it. It must print a line feed after the output of each case. Follow the format of the instance.
If you do tests with random numbers and your program do not find any solution, do not worry: most products are not stable.
Author: Unknown
Translator: Carlos Molina
Generation: 2026-01-25T12:19:52.933Z
© Jutge.org, 2006–2026.
https://jutge.org