+ Задача № 29. Вычислить число сочетаний из n по k

Теория задачи
Реализация задачи :

 
<?php

// Мы создали функцию вывода факториала числа $n 
	
	function F ($n)
	{
		$count=1;
		 
			for ($i=1 ; $i<=$n ; $i++)
				{
					$count=$count*$i;
				}
				  
				 return $count;
	}

	// Теперь выведем функцию числа сочетаний 
 $n=5;
 $k=2;
 $c=$n-$k;
 echo  F($n)/(F($k)*F($n-$k)) ;
 
 
 ?>

Можно ещё с рекурсией сделать.

function F($n)
{
if ($n == 0)
	return 1;
else
	return $n*F($n-1);
}
vedro-compota's picture

math2, действительно, полезно (в т.ч. для тренировки) решать задачи с использованием рекурсии (и надо бы добавить несколько подобных задач в список учебных), но на практике обычно стараются избегать её применения, если оно выглядит менее "наглядно", чем "обычный" способ.

_____________
матфак вгу и остальная классика =)

fgh's picture

Спасибо очень интересно , я с рекурсиями не встречался ) теперь увидел что это такое . Сейчас использую в коде .

fgh's picture

<?php
 
// Мы создали функцию вывода факториала числа $n 
     
     
  function F($n)
		{
		if ($n == 0)
			{
				return 1;
			}
		else
			{
				return $n*F($n-1);
			}
		}
    
 
    // Теперь выведем функцию числа сочетаний 
 $n=52;
 $k=2;
 $c=$n-$k;
 echo  F($n)/(F($k)*F($n-$k)) ;
 ?>

Только там нужно скобки добавить в операторы условия .

vedro-compota's picture

Только там нужно скобки добавить в операторы условия

скобки не обязательны - если их нет к блоку условия считается относящимся только одно следующее действие (до точки с запятой), НО с другой стороны скобки требуются некоторыми стандартами оформления (считается что с ними нагляднее).

_____________
матфак вгу и остальная классика =)