Задачка интересная, исследуем её.
Понятно, что программ будет 8. Но в задаче спрашивается, сколько разных чисел получится из двойки, поэтому нужно исследовать каждую программу
1. +++ (((2 +2) +2) +2 = 8
2. ++* (((2 +2) +2) *3 = 18
3. +*+ (((2 +2) *3) +2 = 14
4. *++ (((2 *3) +2) +2 = 10
5. *** (((2 *3) *3) *3 = 54
6. **+ (((2 *3) *3) +2 = 20
7. *+* (((2 *3) +2) *3 = 24
8. +** (((2 +2) *3) *3 = 36
Вот только теперь можно сказать что из 2 можно получить 8 разных чисел.
PS Арифметику проверь, писал напрямую в экран, мог допустить неточность.
<em>// PascalABC.NET 3.2, сборка 1427 от 24.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var i:=1;
var k:=0;
while k<>55 do begin Print(i); i+=2; k+=1 end
end.
<u>Результат</u>
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109
Защита от эксплойтов.
Анти-фишинг.
Сканирование файлов/папок.
Веб-фильтр.
const n=15;
var a:array [1..n] of integer;
b:array [1..n] of real;
i:integer;
begin
write(' Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(41)-20;
write(a[i]:5);
if a[i] mod 5 = 0 then b[i]:=a[i]*2
else b[i]:=a[i]/2
end;
writeln;
write('Преобразованный массив: ');
for i:=1 to n do write(b[i]:5);
end.