Если число 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. Проверим
Var
День,Месяц:byte;
Begin
Write('№ дня = ');ReadLn(День);
Var C:=365-День;
Write('№ месяца = ');ReadLn(Месяц);
Case Месяц of
2:C:=C-31;
3:C:=C-59;
4:C:=C-90;
5:C:=C-120;
6:C:=C-151;
7:C:=C-181;
8:C:=C-212;
9:C:=C-243;
10:C:=C-273;
11:C:=C-304;
12:C:=C-334
End;
if (C mod 100>10)and(C mod 100<20) then Write('До нового года осталось ',C,' дней')
else
Case C mod 10 of
1:Write('До нового года остался ',C,' день');
2..4:Write('До нового года осталось ',C,' дня');
0,5..9:Write('До нового года осталось ',C,' дней')
End
End
Объяснение:
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)