Дана последовательность натуральных чисел. Найти среди этих чисел количество четных и количество нечетных чисел. Вывести ответ в порядке возрастания. Каждое число с новой строки. Формат ввода: первым идет число, количество обрабатываемых чисел. Затем идут сами числа. Например: 5 6 7 3 4 9. ответ для этой последовательности
//Если программа не запускается, то обновите версию
const
n = 200;
var
primes: array of integer;
begin
primes := ArrGen(n, i -> i);
for var i := 2 to round(sqrt(n)) do
begin
if not (primes.Contains(i)) then
continue;
var e := SeqWhile(i*i, x -> x + i, x -> x <= n);
primes := primes.Except(e).ToArray;
end;
writeln('Простые числа < ', n, ':');
writeln(primes);
writeln;
writeln('Время вычисления: ', Milliseconds / 1000);
end.
Не нечетное число - это четное число, поэтому:
не(x - нечетное) равносильно (x - четное)
x>=10 - в данное неравенство входят все x из промежутка [10;+oo), т.е на данном промежутке неравенство истинно. А ложно оно соотвественно на (-oo;10). Логическое "не" инвертирует данное неравенство( истина становится ложью, и наоборот), значит:
не(x>=10) равносильно (x<10), и промежуток x: (-oo;10)
В итоге:
не(x - нечетное) и не(x>=10)<=>(x - четное) и (x<10)
Полученное неравенство будет истинно для четных x из промежутка (-oo;10).
Наибольшее четное число из (-oo;10): 8
ответ: 8