1)Логическая функция F задается выражением (x/\-y) v (x ~ z) v w Дан частично заполненный фрагмент таблицы истинности, содержащей неповторяющиеся строки таблицы истинности F. Определите, какому столбцу таблицы соответствует каждая из переменных х, у, z, w. В ответе напишите буквы w, х, y, z в том порядке, в котором идут соответствующие им столбцы
2) Миша заполнял таблицу истинности логической функции F -(y = (x ~ w)) /\ (z = x), но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z. Определите, какому столбцу таблицы соответствует каждая из переменных w, х, у, z.
ps: /\ - и, v - или, - - не, = - если то, ~ - если и только.
Если ты пишешь на другом языке программирования, то могу коротко рассказать суть решения. Большой квадрат со стороной x получается из x^2 маленьких квадратом, которые состоят из двух прямоугольных треугольников. Такие квадраты можно составить из треугольников a1 и a2 или a3 и a4. Поэтому берём минимальное значение из a1 и a2 и минимальное из a3 и a4. Суммируем эти значения, берём корень и округляем в меньшую степень.
1)Немного не понял фразу "меньше данного числа 2". Если найти сумму всех элементов, которые меньше двух в массиве размером 20 элементов, то это
var s,i:longint; m:array[1..100] of integer; begin for i:=1 to 20 do read(m[i]); s:=0; for i:=1 to 20 do if m[i]<2 then s:=s+m[i];
writeln(s); end. 2) var i:longint; m:array[1..100] of integer; begin for i:=1 to 20 do read(m[i]);
for i:=1 to 20 do if (m[i] mod 5=3) then writeln(m[i]); end.
3) var a,b,i:longint; m:array[1..100] of real; begin read(a); read(b); for i:=1 to 20 do read(m[i]); for i:=1 to 20 do if (m[i]>=a) and (m[i]<=b) then writeln(i); end.
4)var o,s,i:longint; m:array[1..100] of integer; begin for i:=1 to 20 do begin read(m[i]); s:=s+m[i]; end;
o:=s div 20;
for i:=1 to 20 do if m[i]>o then writeln(m[i]); end.
прощения, если есть ошибки в синтаксисе. Нет возможности проверить в компиляторе
На паскале решение выглядит так:
var
s,a1,a2,a3,a4:int64;
i,o:text;
function min(x,y:int64):int64;
begin
if x>y then
min:=y else
min:=x;
end;
begin
assign(i,'pobeda.in');
reset(i);
read(i,a1,a2,a3,a4);
close(i);
s:=min(a1,a2)+min(a3,a4);
assign(o,'pobeda.out');
rewrite(o);
writeln(o,trunc(sqrt(s)));
close(o);
end.
Если ты пишешь на другом языке программирования, то могу коротко рассказать суть решения. Большой квадрат со стороной x получается из x^2 маленьких квадратом, которые состоят из двух прямоугольных треугольников. Такие квадраты можно составить из треугольников a1 и a2 или a3 и a4. Поэтому берём минимальное значение из a1 и a2 и минимальное из a3 и a4. Суммируем эти значения, берём корень и округляем в меньшую степень.