C#:
int a;
ConsoleKeyInfo keyInfo;
do
{
Console.WriteLine("Введите номер одного из зимних месяцев:\n12, 1, 2");
a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 12:
Console.WriteLine("Декабрь\n");
break;
case 1:
Console.WriteLine("Январь\n");
break;
case 2:
Console.WriteLine("февраль\n");
break;
default:
Console.WriteLine("Не зимний месяц\n");
break;
}
//Ниже идёт зацикливание программы, для удобства. Если Вам этого не требуется, то вместо нижеперечисленного впишите "Console.ReadKey();"
Console.WriteLine("Если хотите повторить программу нажмите F");
Console.WriteLine("Если хотите завершить программу нажмите любую другую кнопку\n");
keyInfo = Console.ReadKey(true);
}
while (keyInfo.Key == ConsoleKey.F);
A=5
Объяснение:
74 mod A = 4
Остаток меньше делителя, поэтому A>=5
Подставляем 5 в основание системы счисления и проверяем результат.
74/5=14 остаток 4
14/5=2 остаток 4
2/5=0 остаток 2
Десятичное число 27 в пятиричной системе счисления записывается как 244. Следовательно A=5
Как решать подобные задачи.
1.
Согласно правилу перевода десятичного числа M в A-ричную систему, в последний разряд A-ричного числа записывается остаток от M/A. То есть M mod A = R, где R – значение последнего разряда A-ричного числа. Вспоминаем что остаток всегда меньше делителя, поэтому A>=R+1. В рассматриваемой задаче A>=5.
Определение нижней границы значения A, позволяет сузить поиск. В рассматриваемой задаче мы с первого раза вышли на верное значение, но так бывает не всегда.
2.
Представим число M в следующем виде: M=A*B+R, где A - основание системы счисления, а R – остаток. В рассматриваемой задаче эта запись приобретает следующий вид: 74=A*B+4 или 70=A*B. То есть необходимо найти такие целые числа, чтобы их произведение равнялось 70.
Рассмотрим варианты A*B.
1*70
2*35
5*14
7*10
В первом пункте мы выяснили, что A>=5, поэтому первые два варианта отпадают. Остаются варианты 5*14 и 7*10.
Проверив истинность высказываний 74 mod 5 = 4 и 74 mod 7 = 4, убеждаемся, что A=5.
3.
Зная разрядность, также можно производить вычисления.
Обозначим разрядность через N.
N= [L]+1 , где L – значение логарифма от M по основанию A. Квадратные скобки – обозначают целое значение.
В рассматриваемой задаче, число M в A-ричной системе счисления трехзначное. То есть N=3.
3=[L]+1
[L]=2
Для проверки разрядности значения A*B в системе счисления A, следует проверить истинность выражения N= [L]+1.
В рассматриваемой задаче, это условие соблюдается только когда A принимает значения 5, 6, 7 или 8. Только при таких значениях A, число M в A-ричной системе счисления A будет трехзначным.
Числа 6 и 8 не подходят, поскольку второй множитель B также должен быть целочисленным.
Остаются числа 5 и 7.
Проведя проверку на остаток от деления 74 mod 5 = 4 и 74 mod 7 = 4, получаем искомое значение A=5.
2) символы
3) другие символы
Надеюсь