Если основание системы счисления равно N, то для записи чисел в этой системе используются цифры от 0 до N-1, то есть наибольшая цифра равна N-1. Например для нашей родной десятичной системы N=10, используются 10 цифр 0 1 2 3 4 5 6 7 8 9, наибольшая из них 9. И наоборот, если наибольшая цифра в записи числа равна N-1, то минимально возможное основание системы счисления на единицу больше, то есть равно N.
Анализируем:
Число 1010: наибольшая цифра = 1, минимальное основание = 2
Число 7817: наибольшая цифра = 8, минимальное основание = 9
#include <iostream>
using namespace std;
int a, b, numb;
bool init;
int main()
{
do {
cout << "Input a b: ";
cin >> a >> b;
if ((a > b) || (a <= 0) || (b <= 0))
cout << "Input error! Try again" << endl;
} while ((a > b) || (a <= 0) || (b <= 0));
for (int i = a; i <= b; i++) {
init = true;
numb = i;
do {
if (numb % 10 == 0)
init = false;
else if ((i / (numb % 10) * (numb % 10)) != i)
init = false;
numb /= 10;
} while (numb != 0);
if (init == true)
cout << i << " ";
}
return 0;
}
Если основание системы счисления равно N, то для записи чисел в этой системе используются цифры от 0 до N-1, то есть наибольшая цифра равна N-1. Например для нашей родной десятичной системы N=10, используются 10 цифр 0 1 2 3 4 5 6 7 8 9, наибольшая из них 9. И наоборот, если наибольшая цифра в записи числа равна N-1, то минимально возможное основание системы счисления на единицу больше, то есть равно N.
Анализируем:
Число 1010: наибольшая цифра = 1, минимальное основание = 2
Число 7817: наибольшая цифра = 8, минимальное основание = 9
Число 1023 - наибольшая цифра = 3, минимальное основание = 4
Число 6767 - наибольшая цифра = 7, минимальное основание = 8
1010 2
7817 9
1023 4
6767 8