Руслан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*
Комментарий*

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

Anna389
ivshzam
X2755070
Сергеевич1396
matoksana
mmctriitsk
sharikplushelen
Наталья286
Карева Даниил1537
st-op767840
museumuzl
igorshevkun
alexandr25901
evoque2014
nsn-2012