// F#
let rec getNumberFromConsole _ =
let str = System.Console.ReadLine()
let mutable number = 0
if System.Int32.TryParse(str, &number)
then number
else getNumberFromConsole null
let rec getCommonNumber number1 number2 commonNumber multiplier =
if number1 > 0 && number2 > 0
then getCommonNumber (number1 / 10) (number2 / 10) (commonNumber + (number1 % 10) * 10 * multiplier + (number2 % 10) * multiplier) (multiplier * 100)
else commonNumber
[<EntryPoint>]
let main argv =
let number1 = getNumberFromConsole null
let number2 = getNumberFromConsole null
let result = getCommonNumber number1 number2 0 1
System.Console.WriteLine result
System.Console.ReadKey true |> ignore
0
<span>
</span>
В HDD используется медный диск и считывающая головка, а твердотельный накопитель SSD основан на микросхеме, т,е, у него флеш-память
3кБ=3072б (3*1024)
ответ 3072 байта делим на количество символов12288
равно 0.25 байт
<span>Т.к. каждый символ может иметь 64 значения, то есть
, то на каждый символ выделяется 6 бит(от 0 до 63, всего 64
варианта).Всего символов - 100. Значит всего нужно 6*100=600бит=75байт</span>
Преобразуем функцию: F = (A * не С) + (не B * не С) = (А + не В) * не С.
Самая последняя операция функции - умножение. Принимает значение 0, если хотя бы один операнд = 0.
1) Рассмотрим переменную С. Если она равняется 1, то все выражение обращается в 0, так как производтся умножение на (не С).
Ищем в таблице столбец, для которого для всех значений 1 функция становится = 0. Это столбец 3. С = 3 столбец
2)Сделаем С = 0 и посмотрим на поведение других переменных. Если A = 0, то итоговое занчение зависит от (не В). Допустим, В = 2 столбец, тогда в первой и второй строке результат функции должен меняться обратно изменению переменно. Так и есть. B = 2 столбец
3) Остаётся А = 1 столбец