nrparts:= function(n)
local np;
np:= function(n, m)
local i, res;
if n = 0 then
return 1;
fi;
res:= 0;
for i in [1..Minimum(n,m)] do
res:= res + np(n-i, i);
od;
return res;
end;
return np(n,n);
end;
nrparts(15);
176
p(n) n tamsayının ayrışım sayısı olmak üzere GAP kullanılarak yazılan p(15) için 176'yıveren Sayı Bölümlemesi(Number \ of \ partitions / Partition \ Integers) algoritmasının çalışma aşamalarını açıklamak istiyoruz.
n = 1 yol: 1 sayı: 1
n = 2 yol: 1+1 ve 2 sayı: 2
n= 3 yol: 1 + 2 ve 1 + 1 + 1 ve 3 sayı: 3
n = 4 yol: 1 + 2 + 1 ve 1 + 1 + 1 + 1 ve 2 + 2 + 1 ve 1 + 3 ve 4 sayı: 5
.......
1 \ 2 \ 3\ 5 \ 7\ 11 \ 15\ 22\ 30 ... 176 ... bu sayede ayrışımları gerçekleştiriyoruz.
O halde yazılan algoritmanın adımlarını p(15) = 176 için açıklamada yardımcı olur musunuz?
m değerinin ne olduğunu anlasam devamını getireceğim ama karar veremiyorum.