Var n, q, v, i: integer; begin writeln('Введите количество чисел, которые вы будете вводить'); readln(n); q:=0; for i:=1 to n do begin writeln('Введите целое число'); readln(v); if v=7 then Inc(q); end; writeln('В введённой вами последовательности ', q, ' чисел равных семи');
end.
{---Пример} Количество чисел 5 1 15 7 8 7 Количество чисел равных семи равно 2
marinatehnomaster21
01.06.2021
Обозначим 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]
charlie79
01.06.2021
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
n, q, v, i: integer;
begin
writeln('Введите количество чисел, которые вы будете вводить');
readln(n);
q:=0;
for i:=1 to n do begin
writeln('Введите целое число');
readln(v);
if v=7 then Inc(q);
end;
writeln('В введённой вами последовательности ', q, ' чисел равных семи');
end.
{---Пример}
Количество чисел 5
1 15 7 8 7
Количество чисел равных семи равно 2