Регистрация
Войти
Стать экспертом Правила
Информатика

Прошу помощи! Срочно!))

ОТВЕТЫ
VAR nInput: byte;
{Количество разбиений числа n на слагаемые,
не превышающие k,
удовлетворяет рекуррентной формуле:
P(n,k) = P(n,k-1) + P(n-k,k) когда неравенство k<=n)
P(n,k) = P(n,n) когда неравенство k>n
с начальными значениями
P(0,0) = 1
P(i,0) = 0, i>0}

Function P(n,k: byte): word;
Begin
IF k=0
THEN if n=0
then P:=1
else P:=0
ELSE if (k<=n)
then P:=P(n,k-1)+P(n-k,k)
else P:=P(n,n);
End;

BEGIN
write('Input natural N and press Enter: ');
readln(nInput);
write('Partition (number theory) = ');
writeln(P(nInput,nInput)); 
writeln('press Enter');
readln;
END.
910
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам