<span>Первый сказал: “Все мы лжецы” - он лжец, так как есть и рыцари
</span>Второй сказал: <span>“Все, кто говорили до меня, лжецы” - он рыцарь
Третий сказал: </span><span>“Все, кто говорили до меня, лжецы” - он лжец, так как второй рыцарь
Остальные тоже лжецы, так как говорят тоже самое.
Ответ: рыцарь один
</span>
Не знаю сойдет или нет, но как бы эту задачу давно решал.
var a:array [1..20] of integer;
i:integer;
begin
for i:=1 to 20 do
begin
a[i]:=random(30)+1;
if a[i] mod 3 = 0 then
write (a[i],' ');
end;
readln;
<span>end.</span>
DIM X(10)
RANDOMIZE TIMER
FOR I = 1 TO 10
X(I) = INT(RND(1) * 20) + 1
PRINT X(I); " ";
NEXT I
PRINT
INPUT "Введите число"; K
P = 1
FOR I = 1 TO 10
IF X(I) MOD K = 0 THEN P = P * X(I)
NEXT I
<span>IF P = 1 THEN PRINT "Кратных нет" ELSE PRINT "P ="; P</span>