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

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

shyroshka836103
andrey4work918
Maksim Dmitrii1579
krtatiana69
melnik-738
Никита
qelmar461
vantoslaltd
Nadirovich1317
struev2003260
missmorozova2
Константиновна
orange-salon-job77
Сергеевич1726
ski89439