Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
#include <cstdlib>
#include <ctime>
int main(int argc, char *argv[])
{
system("chcp 1251 >nul");
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int mass[5];
bool op;
printf("Заполнить массив самостоятельно? (1/0): ");
scanf("%d", &op);
for(int i = 0; i < 5; i++){
if(op){
printf("Введите %d-е число: ", i+1),
scanf("%d", &mass[i]);
}else mass[i] = (rand() % 200) - 100;
}
std::cout << std::endl;
int sm = 0;
for(int i = 0; i < 5; i++)
if(mass[i] < 0) printf("%d-й элемент отрицательный: %d\n", i+1, mass[i]), sm++;
if(!sm) printf("В массиве нет отрицательных чисел.");
return EXIT_SUCCESS;
}
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)