1. Если алфавит содержит 64 символа, то его символы можно закодировать числами от 0 до 63. В двоичном коде для представления чисел такого диапазона потребуется 6 бит ответ: потребуется код разрядности шесть бит.
2. Пятиразрядный двоичный код позволяет закодировать символа с кодами от 0 до 31. ответ: пятиразрядного кода будет недостаточно.
3. Каждую лампочку можно представить битом. Выключенной лампочке соответствует нулевое значение бита, включенной - единичное. Для передачи 15 различных сигналов потребуется четыре лампочки, поскольку , т.е. 4 лампочки передавать до 16 сигналов. Трех лампочек будет недостаточно: они могут передать не больше сигналов. ответ: потребуется четыре лампочки.
Обратим внимание, что в вопросе указана цифра два, являющаяся последней из цифр, которые используются в троичной системе счисления (0,1,2). Следующей за ней по порядку снова будет ноль, т.е. следующее число окажется кратным трем - основанию троичной системы. Но эта кратность трем также сохранится в любой системе счисления с основанием, превышающим три. Поэтому в десятичной системе счисления искомые числа будут последовательностью, в которой каждое число равно кратному трем за вычетом единицы:
Это общее выражение порождает ряд 2, 5, 8, .. 47, 50 при k=1,2,3,..16,17
Код:
using System;
namespace WordsCounter
{
class Bishop
{
private int x, y;
public Bishop(int x, int y)
{
this.x = x;
this.y = y;
}
public bool CanIAttackIt(int x, int y)
{
return Math.Abs(x - y) == Math.Abs(this.x - this.y);
}
}
class Program
{
static void Main(string[] args)
{
var x0 = int.Parse(Console.ReadLine()!);
var y0 = int.Parse(Console.ReadLine()!);
var x = int.Parse(Console.ReadLine()!);
var y = int.Parse(Console.ReadLine()!);
Console.WriteLine((new Bishop(x0, y0)).CanIAttackIt(x, y));
}
}
}