Если A, B имеют общий делитель d, то и A + B делится на d. Отсюда идея: найдем наибольший делитель N, меньший N, и представим всё в виде d + (N - d). d будем искать так: найдём наименьший делитель q, не равный 1 (если число составное, он не больше корня из N), тогда d = N/q.
var q, d, n: longint; isfound: boolean;
begin readln(n); isfound := false; for q := 2 to trunc(sqrt(n)) + 1 do if n mod q = 0 then begin d := n div q; write(d, ' ', n - d); isfound := true; break; end; if not isfound then write(1, ' ', n - 1); end.
Дано: символов на странице 256, страниц 2, Объем информации 1/16 КБ Решение: 1)K = 256*2=512 символов (K - количество символов в сообщении) 2)V = 1/16КБ*1024=1024/16=64 байта V = 64байта*8=512 бит (V - информационный объем, это размер информации в битах) 3)i = V/K =512/512=1 бит/символ (i - информационный вес символа, это количество бит в 1 символе, разрядность или битность) 4)N = 2^i =2^1=2 (N - Мощность алфавита, это полное количество символов алфавита) ответ: Мощность используемого алфавита 2 символа.
var
q, d, n: longint;
isfound: boolean;
begin
readln(n);
isfound := false;
for q := 2 to trunc(sqrt(n)) + 1 do
if n mod q = 0 then
begin
d := n div q;
write(d, ' ', n - d);
isfound := true;
break;
end;
if not isfound then
write(1, ' ', n - 1);
end.
символов на странице 256,
страниц 2,
Объем информации 1/16 КБ
Решение:
1)K = 256*2=512 символов (K - количество символов в сообщении)
2)V = 1/16КБ*1024=1024/16=64 байта
V = 64байта*8=512 бит (V - информационный объем, это размер информации в битах)
3)i = V/K =512/512=1 бит/символ (i - информационный вес символа, это количество бит в 1 символе, разрядность или битность)
4)N = 2^i =2^1=2 (N - Мощность алфавита, это полное количество символов алфавита)
ответ: Мощность используемого алфавита 2 символа.