Три символа алфавита могут быть закодированы в системе счисления по основанию 3, т.е. в троичной системе счисления. При этом под первым номером кодируется число 0, которое записано по условию как , т.е. символ F кодируется нулем. Вторым номером кодируется число 1 и его запись по условию N, откуда мы узнаем, что символ N кодируется цифрой 1. Тогда оставшийся символ S кодируется цифрой 2. И действительно, третьей идет комбинация символов S. Любой член в последовательности кодов может быть получен путем перевода в троичную систему числа, на единицу меньшего номеру этого члена (поскольку отсчет кодов идет с нуля, а члены последовательности нумеруются с единицы). Проверим наше построение для контрольного значения n99=NFNSS. 98(3)=10122 -> NFNSS, что соответствует условию. Теперь само решение. 7) 6(3)=00020 -> FFFSF 27) 26(3)=00222 -> FFSSS 90) 89(3)=10022 -> NFFSS 101) 100(3)=10201 -> NFSFN 196) 195(3)=21020 -> SNFSF
var a: array[1..t] of integer; i, min, k, tmp, klv, z: integer; b: boolean;
begin
for i := 1 to t do a[i] := random(10) + 1; //Рандом чисел от 1 до 10
writeln('Массив:'); for i := 1 to t do write(' ', a[i]:2); writeln;
for i := 1 to t - 1 do for k := i + 1 to t do if a[i] > a[k] then begin tmp := a[k]; a[k] := a[i]; a[i] := tmp; end;
writeln('После сортировки:'); for i := 1 to t do write(' ', a[i]:2); writeln;
klv := 0; writeln('Введите число X:'); readln(z); for i := 1 to t do if a[i] = z then begin b := true; inc(klv); end; if b then begin writeln('Число ', z, ' встречается ', klv, ' раз(а).'); end;
if b = false then writeln('Число ', z, ' не встречается.'); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку