Три символа алфавита могут быть закодированы в системе счисления по основанию 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
PascalABC
Объяснение:
1)
begin
WriteLn('Введите размер массива N: ');
var n := ReadInteger;;
var a := ArrRandomInteger(n, -20, 20);
a.PrintLn;
WriteLn('Сумма элементов, которые оканчиваются на число 2, равна ', a.Where(x -> (x mod 10 = 2) or (x mod 10 = -2)).Sum);
end.
2)
begin
var a := ArrRandomInteger(10, -10, 10);
a.PrintLn;
WriteLn('Индексы отрицательных нечетных элементов:');
foreach var i in a.Indices do
if (a[i].IsOdd) and (a[i] < 0) then Write(i, ', ');
end.