Руслан1360
?>

1) чем отличается контур от цикла? 2)как реализуется операция удаления вершины в графе? 3) что такое кратчайший путь в ориентированном графе?

Информатика

Ответы

lobanosky162
Количество различных салатов R, которые можно приготовить, имея n продуктов и беря для приготовления k из них (k=2,3,... n-1), в математике определяется, как число размещений из n по k и определяется по следующей формуле:
\displaystyle C_n^k= \frac{n!}{k!(n-k)!}
Формула красивая, короткая, но неудобная для вычисления. В самом деле, надо найти три факториала, каждый из которых может оказаться достаточно большим числом. Но можно сделать небольшое преобразование и упростить вычисление.
\displaystyle R=C_n^k= \frac{n!}{k!(n-k)!} = \frac{k!(k+1)(k+2)...(n-1)n}{k!(n-k)!}= \\ 
 \frac{(k+1)(k+2)...(n-1)n}{1\cdot2\cdot...\cdot(n-k)}=\prod_{i=1}^{n-k} \frac{k+i}{i}

Но это было вычисление R только для конкретного k при заданном n.
Нам же нужно найти сумму R для всех k от 2 до n. И да, для k=n формула не предназначена, но зато мы и так понимаем, что для такого случая R=1.

Задача свелась к нахождению обычной суммы
\displaystyle S=C_2^n+C_3^n+...+C_{n-1}^n+1=1+\sum_{i=2}^{n-1}C_i^n

// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!

function C(n,k:integer):integer;
begin
  if n=k then Result:=1
  else begin
    var p:=1.0;
    for var i:=1 to n-k do p:=p*(k+i)/i;
    Result:=Round(p);
    end;
end;

begin
  var n:=ReadInteger('Кол-во продуктов: ');
  var s:=1;
  for var i:=2 to n-1 do s:=s+C(n,i);
  Writeln('Кол-во салатов: ',s)
end.

Примеры:
Кол-во продуктов:  3
Кол-во салатов: 4

Кол-во продуктов:  5
Кол-во салатов: 26

Кол-во продуктов:  10
Кол-во салатов: 1013
Васильевич Валерьевна
Верные:

Скомпилировать программу на C++ для некоторой архитектуры X можно только на компьютере с архитектурой X.

Для запуска программы, код которой был написан на интерпретируемом языке, на компьютере должен быть установлен интерпретатор этого языка.

Код программы, написанный на языке, который компилируется в байт код виртуальной машины, достаточно скомпилировать однажды, чтобы программу можно было запускать на любой платформе, где есть соответствующая виртуальная машина.

Код программы, написанный на интерпретируемом языке, можно без предварительной компиляции запустить на любой платформе, где есть интерпретатор этого языка.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1) чем отличается контур от цикла? 2)как реализуется операция удаления вершины в графе? 3) что такое кратчайший путь в ориентированном графе?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Бирюков Карпова1379
soskadoa
Dmitrychekov9
servik78
Ragim777hazarovich
IPMelnikovR146
akbmaslafarkop3175
KosarinPotemkina1888
anton1969026203
v89167233402
zyf0066
apro3444595
skrepka397412
sv-opt0076
Семеновна-Павел