Четный - нацело делится на 2, кратный трем - нацело делится на 3.
Самый простой алгоритм, который приходит в голову - дурацкий. Перебираем все числа и проверяем каждое, подходит ли оно. Гораздо проще взять первое подходящее число из заданного диапазона, а потом идти от него с шагом, равным 2 или 3 (смотря чему нужна кратность).
<em>// PascalABC.NET 3.2, сборка 1341 от 20.11.2016</em>
begin
Range(30,48,2).Println; // 1-я задача
Range(30,55,3).Println // 2-я задача
end.
Результат
30 32 34 36 38 40 42 44 46 48
30 33 36 39 42 45 48 51 54
Напишу нарусском. компе выделить нажать правой.. на тел долго наж. И коп
Const n=5; m=6;
var x:array[1..n,1..m] of integer;
k:array[1..m] of integer;
i,j,k0:integer;
begin
Randomize;
For i:=1 to n do begin
for j:=1 to m do begin
x[i,j]:=Random(20)-10;
write(x[i,j]:4);
end;
writeln;
end;
for j:=1 to m do begin
k0:=0;
for i:=1 to n do if x[i,j]<0 then k0:=k0+1;
k[j]:=k0;
end;
writeln('Количество отрицательных элементов в столбцах:');
for j:=1 to m do write(k[j]:4);
writeln;
<span>end.</span>
1)
( (x ∈ P) /\ (x ∈ А)) → ( (x ∈ Q) /\ (x ∈ А)) = 1
-( (x ∈ P) /\ (x ∈ А)) \/ ( (x ∈ Q) /\ (x ∈ А)) = 1 (убрали стрелочку)
-(x ∈ P) \/ -(x ∈ А) \/ ((x ∈ Q) /\ (x ∈ А)) = 1 (правило де Моргана)
-(x ∈ P) \/ (-(x ∈ А) \/ (x ∈ Q)) /\ (-(x ∈ А) \/ (x ∈ А)) = 1
-(x ∈ P) \/ -(x ∈ А) \/ (x ∈ Q) = 1
x ∈ (-P U Q U -A) = 1
т.е. -P U Q U -A = (-infinity; +infinity)
-P U Q = (-infinity; 39) U (58; +infinity)
нужно чтоб -А покрыло оставшийся кусок [39; 58] т.е. А не должно содержать [39; 58]
из предложенных это 1) [5, 20]
2) Алфавит из 18 символов, log(18)/log(2) = 4.16992500144231 {округляем до целого} ~= 5 бит на символ
Вес номера байт = 5бит * 6 / 8 = 3.75 байт {округляем до целого} ~= 4 байт
400 * 4 байт = 1600 байт
3) Комбинаторика - Размещение с повторениями
n - кол-во элементов в наборе (у нас 4)
k - кол-во мест (у нас 5 и 6)
Количество размещений с повторениями = `A(k,n) = n^k
`A(5, 4) + `A(6, 4) = 4^5 + 4^6 = 5 120