Var x,f:real; begin write('x = '); readln(x); if x<=2 then f:=x*x+4*x+5 else f:=1/(x*x+4*x+5); writeln('f = ',f); end.
Пример: x = -3 f = 2
horizma609
06.02.2020
Обозначим P,Q,A утверждение что х принадлежит соответствующему отрезку ¬А отрицание А, то есть х не принадлежит А перепишем и упростим исходную формулу P→((Q∧¬A)→P) известно что X→Y=¬X∨Y (доказывается просто, например через таблицу истинности) тогда: P→(¬(Q∧¬A)∨P) раскроем скобку ¬(Q∧¬A) с закона де Моргана (стыдно их не знать, если что это такие же основы как и таблицы истинности) P→(¬Q∨¬¬A∨P) = P→(¬Q∨A∨P) = ¬P∨¬Q∨A∨P ¬P∨P=1 то есть всегда истинно и 1∨Х=Х значит ¬P и P можно убрать остается ¬Q∨A Значит х либо принадлежит А либо не принадлежит Q для выполнения этого условия необходимо чтобы все значения Q принадлежали А, тогда минимальное А совпадает с Q ответ А=[40,77]
shtankosoyuz1629
06.02.2020
Ll - long long
dp[i] = dp[i-1] + dp[i-2] + dp[i-5] + dp[i-10]; ll dp[666]; dp[0] = 1; for(int i=0;i<=64;i++) { dp[i+1]+=dp[i]; dp[i+2]+=dp[i]; dp[i+5]+=dp[i]; dp[i+10]+=dp[i]; cout << i << ": " << dp[i] << endl; } это если порядок важен, то есть 2 + 1 != 1 + 2, тогда ответ 489475342266653, наверное а иначе 644
begin
write('x = ');
readln(x);
if x<=2 then f:=x*x+4*x+5
else f:=1/(x*x+4*x+5);
writeln('f = ',f);
end.
Пример:
x = -3
f = 2