Всего две стороны у флажка
Флажков пять
Максимальное количество возможных сигналов =
= 2^5 =32 сигнала
//PascalABC.Net 3.1.0.1200
var
x0, xk, dx, x: real;
function f(x: real): real;
begin
f := x * x * x + 3;
end;
begin
write('Введите промежуток и шаг ([a,b] h) ');
readln(x0, xk, dx);
x := x0;
writeln(' x ':10, ' | ', ' f(x) ':10);
repeat
writeln(x:10:3, ' | ', f(x):10:3);
x := x + dx;
until x > xk;
end.
Begin
write('A':4, 'B':6, 'F1':6);writeln;
for A:= false to true do begin
for B:= false to true do begin
F1:= (not(A) or B) and (not(A) or not(A));
write(A:6, B:6, F1:6);writeln;end; end;writeln;write('X':4, 'Y':6, 'Z':6, 'F2':6);
writeln;
for X:= false to true do begin
for Y:= false to true do begin
for Z:= false to true do begin
F2:= (not(X) and Y) or not(Z);write(X:6, Y:6, Z:6, F2:6);writeln;end; end;end;<span>end.</span>
Вот все варианты решения
значения идут по порядку
"0001110101"
"0001111101"
"0010101101"
"0010110101"
"0010111101"
"0011010101"
"0011011101"
"0011101101"
"0011110101"
"0011111101"
"0101010101"
"0101011101"
"0101101101"
"0101110101"
"0101111101"
"0110101101"
"0110110101"
"0110111101"
"0111010101"
"0111011101"
"0111101101"
"0111110101"
"0111111101"
"1010101101"
"1010110101"
"1010111101"
"1011010101"
"1011011101"
"1011101101"
"1011110101"
"1011111101"
"1101010101"
"1101011101"
"1101101101"
"1101110101"
"1101111101"
"1110101101"
"1110110101"
"1110111101"
"1111010101"
"1111011101"
"1111101101"
"1111110101"
"1111111101"
//Ruby 22
for i in 0..2**10-1
s = ("000000000000000000000000000000" + i.to_s(2))[-10..-1]
next if s[-2]=="1"
a=[]
s.each_char { |c| a<<(c=="1") }
f = true
for k in 0..a.size-3
f = (f and (not a[k] or a[k+1] or a[k+2]))
end
p s if f
end