<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function IsPrime(n:integer):boolean;
begin
if n<4 then Result:=True
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)<=n) do
begin found:=(n mod p=0); p+=2 end;
Result:=not found
end
end;
begin
var a:=ArrRandom(ReadInteger('n='),0,100); a.Println;
var primes:=a.Where(x->IsPrime(x)).ToArray;
primes.Sort;
primes.Println
end.
<u>Пример</u>
n= 17
33 23 56 58 32 2 5 72 68 59 89 30 17 40 44 21 23
2 5 17 23 23 59 89
Воспользуемся формулой включений и исключений.
Васильки - a
Ландыши - b
Лютики - c
b&(a|b) = (a&b)+(b&c)-(b&a&c)
740 = 650 + 230 - (b&a&c)
(b&a&c) = 650+230-740
Ответ:140 страниц