Где-то в условии ошибка. Таблица истинности для пяти переменных будет содержать два в пятой степени, (т.е. 32) строки. Как можно трактовать фразу "нет ни одной совпадающей строки"? Только так, что если A=0? то B=1 или если А=1, то В=0. Комбинаций вида 0 0 или 1 1 быть не может. Но выражение A v B истинно, если истинно хотя бы А или В. Сделовательно, для комбинаций вида 0 1 и 1 0 такое выражение истинно всегда. Тогда столбец значений для такой функции будет содержать все 32 единицы. Поэтому ответ: 32 единицы.
По вопросу "Почему в ответах 0?" я бы сказал следующее: все 32 нуля могут быть получены, если в условии ошибка и функция имеет вид A ^ B. В том случае комбинации 0 1 и 1 0 будут давать именно нули.
1) Все правильно, это и будет разность между максимумом и минимумом program one; var input,max,min:integer; i:integer; begin readln(input); max:=input; min:=input; for i:=2 to 25 do begin readln(input); if input>max then max:=input; if input<min then min:=input; end; writeln(max-min); end.
2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что . program two; var res:real; i,n:integer; begin readln(n); res:=0.5; for i:=2 to n do res*=0.5; res:=2-res; writeln(res); end.
3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки program three; var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля этот тип поддерживается, тогда число в строке ниже надо заменить} begin readln(a); if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin while a>0 do begin b:=10*b+a mod 10; a:=a div 10; end; writeln(b); end; end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку