В одному рядку деякого тексту розміщується в середньому 60 символів, а на одній сторінці - 40 рядків. Скільки закодованих сторінок цього тексту можна взяти, щоб довжина двійкового коду не перевищувала 8 Мбайт (1 символ кодується 8 бітами).
1. Вариант современного решения // PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('Число четных цифр равно ', abs(ReadInteger('n=')).ToString.Where(c->c.ToDigit.IsEven).Count) end.
Пример n= 363754345 Число четных цифр равно 3
2. Вариант "школьного решения" в синаксисе ТурбоПаскаль 1983г.
program TP70; uses Crt; var n:longint; k,d:byte; begin ClrScr; Write('n= '); Read(n); n:=abs(n); k:=0; while n>0 do begin d:=n mod 10; if d mod 2=0 then Inc(k); n:=n div 10 end; Writeln('Число четных цифр равно ',k); ReadKey; end.
1)
100101₂ = 37₁₀
56₈ = 46₁₀
A₁₆ = 10₁₀
2) 1E₁₆ 56₈ 0110111₂
Объяснение:
1)
100101₂ = 1 * 2⁵ + 0 * 2⁴ + 0 * 2³ + 1 * 2² + 0 * 2¹ + 1 * 2⁰ = 1 * 32 + 0 * 16 + 0 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 32 + 4 + 1 = 37₁₀
56₈ = 5 * 8¹ + 6 * 8⁰ = 5 * 8 + 6 * 1 = 40 + 6 = 46₁₀
A₁₆ = A * 16⁰ = 10 * 1 = 10₁₀
2)
0110111₂ = 110111₂ (отбросили незначащий 0) = 1 * 2⁵ + 1 * 2⁴ + 0 * 2³ + 1 * 2² + 1 * 2¹ + 1 * 2⁰ = 1 * 32 + 1 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1 = 32 + 16 + 4 + 2 + 1 = 55₁₀
56₈ = 5 * 8¹ + 6 * 8⁰ = 5 * 8 + 6 * 1 = 40 + 6 = 46₁₀
1E₁₆ = 1 * 16¹ + E * 16⁰ = 1 * 16 + 14 * 1 = 16 + 14 = 30₁₀
30₁₀ 46₁₀ 55₁₀
1E₁₆ 56₈ 0110111₂
В качестве цифр шестнадцатеричной системы счисления обычно используются цифры от 0 до 9 и латинские буквы от A до F.
A₁₆ = 10₁₀ B₁₆ = 11₁₀ C₁₆ = 12₁₀ D₁₆ = 13₁₀ E₁₆ = 14₁₀ F₁₆ = 15₁₀