Для приведения к СКНФ необходимо построить таблицу истинности, выбрать из нее строки, где функция принимает нулевое значение, а затем записать конъюнкции всех таких строк, где каждым элементом будет дизъюнкция переменных, взятых с инверсией.
<u>Перевожу на простой язык.</u>
Ищем в таблице истинности строки со значением функции, равным 0.
Для каждой такой строки берем переменные (обозначим переменную Р), и там где в колонке для Р записан 0, пишем Р, а где единица, пишем ¬Р.
Все эти Р для одной строки соединяем через ∨ и заключаем в круглые скобки. Так повторяем для каждой нулевой строки. Между скобками пишем ∧
Результаты даны во вложениях.
1. 16*32*25*2=25600 байт/1024=25 Кбайт
2.16*32*20*2=<span><span>20480 байт=20 Кбайт
3.32*32*30*1=</span></span><span><span>30720 байт=30 Кбайт</span></span>
Если хочешь, чтобы проги выдавали только число, убери из них строку <span>Write(N,'! + ');</span>
var
a: array[1..9999] of real;
i, n, b: integer;
begin
randomize;
Write('Введите число эементов массива:'); readln(n);
b:=0;
for i:=1 to n do
begin
a[i]:=-5+random(11);
writeln('a[', i, ']=', a[i]);
if a[i]=5 then b:=b+1;
end;
writeln('Кол-во элементов, равных 5: ', b);
end.
Делайте через switch, это самый простой способ, да и вариантов-то всего 10, тем более что все равно переводить число в строку
...
<span>switch(age){
case 20: cout<<<span>"двадцать лет"<<endl</span>; break;
case 21: </span>cout<<"двадцать один год"<<endl;<span> break;
...
default: </span>cout<<"неверные данные"<<endl;<span>
}</span>