September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
22
Task/Multifactorial/ALGOL-W/multifactorial.alg
Normal file
22
Task/Multifactorial/ALGOL-W/multifactorial.alg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
begin
|
||||
% returns the multifactorial of n with the specified degree %
|
||||
integer procedure multifactorial ( integer value n, degree ) ;
|
||||
begin
|
||||
integer mf, v;
|
||||
mf := v := n;
|
||||
while begin
|
||||
v := v - degree;
|
||||
v > 1
|
||||
end do mf := mf * v;
|
||||
mf
|
||||
end multifactorial ;
|
||||
|
||||
% tests as per task %
|
||||
for degree := 1 until 5 do begin
|
||||
i_w := 1; s_w := 0; % output formatting %
|
||||
write( "Degree: ", degree, ":" );
|
||||
for v := 1 until 10 do begin
|
||||
writeon( " ", multifactorial( v, degree ) )
|
||||
end for_v
|
||||
end for_degree
|
||||
end.
|
||||
25
Task/Multifactorial/Dart/multifactorial.dart
Normal file
25
Task/Multifactorial/Dart/multifactorial.dart
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
main()
|
||||
{
|
||||
int n=5,d=3;
|
||||
int z= fact(n,d);
|
||||
print('$n factorial of degree $d is $z');
|
||||
for(var j=1;j<=5;j++)
|
||||
{
|
||||
print('first 10 numbers of degree $j :');
|
||||
for(var i=1;i<=10;i++)
|
||||
{
|
||||
int z=fact(i,j);
|
||||
print('$z');
|
||||
}
|
||||
print('\n');
|
||||
}
|
||||
}
|
||||
|
||||
int fact(int a,int b)
|
||||
{
|
||||
|
||||
if(a<=b||a==0)
|
||||
return a;
|
||||
if(a>1)
|
||||
return a*fact((a-b),b);
|
||||
}
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
function multifact(n, deg){
|
||||
return n <= deg ? n : n * multifact(n - deg, deg);
|
||||
return n <= deg ? n : n * multifact(n - deg, deg);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
function test (n, deg) {
|
||||
for (var i = 1; i <= deg; i ++) {
|
||||
var results = '';
|
||||
for (var j = 1; j <= n; j ++) {
|
||||
results += multifact(j, i) + ' ';
|
||||
}
|
||||
console.log('Degree ' + i + ': ' + results);
|
||||
}
|
||||
for (var i = 1; i <= deg; i ++) {
|
||||
var results = '';
|
||||
for (var j = 1; j <= n; j ++) {
|
||||
results += multifact(j, i) + ' ';
|
||||
}
|
||||
console.log('Degree ' + i + ': ' + results);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
Task/Multifactorial/Phix/multifactorial.phix
Normal file
15
Task/Multifactorial/Phix/multifactorial.phix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
function multifactorial(integer n, integer order)
|
||||
atom res = 1
|
||||
if n>0 then
|
||||
res = n*multifactorial(n-order,order)
|
||||
end if
|
||||
return res
|
||||
end function
|
||||
|
||||
sequence s = repeat(0,10)
|
||||
for i=1 to 5 do
|
||||
for j=1 to 10 do
|
||||
s[j] = multifactorial(j,i)
|
||||
end for
|
||||
?s
|
||||
end for
|
||||
14
Task/Multifactorial/PlainTeX/multifactorial.tex
Normal file
14
Task/Multifactorial/PlainTeX/multifactorial.tex
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
\long\def\antefi#1#2\fi{#2\fi#1}
|
||||
\def\fornum#1=#2to#3(#4){%
|
||||
\edef#1{\number\numexpr#2}\edef\fornumtemp{\noexpand\fornumi\expandafter\noexpand\csname fornum\string#1\endcsname
|
||||
{\number\numexpr#3}{\ifnum\numexpr#4<0 <\else>\fi}{\number\numexpr#4}\noexpand#1}\fornumtemp
|
||||
}
|
||||
\long\def\fornumi#1#2#3#4#5#6{\def#1{\unless\ifnum#5#3#2\relax\antefi{#6\edef#5{\number\numexpr#5+(#4)\relax}#1}\fi}#1}
|
||||
\newcount\result
|
||||
\def\multifact#1#2{%
|
||||
\result=1
|
||||
\fornum\multifactiter=#1 to 1(-#2){\multiply\result\multifactiter}%
|
||||
\number\result
|
||||
}
|
||||
\fornum\degree=1 to 5(+1){Degree \degree: \fornum\ii=1 to 10(+1){\multifact\ii\degree\space\space}\par}
|
||||
\bye
|
||||
19
Task/Multifactorial/Scheme/multifactorial.ss
Normal file
19
Task/Multifactorial/Scheme/multifactorial.ss
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
(import (scheme base)
|
||||
(scheme write)
|
||||
(srfi 1))
|
||||
|
||||
(define (multi-factorial n m)
|
||||
(fold * 1 (iota (ceiling (/ n m)) n (- m))))
|
||||
|
||||
(for-each
|
||||
(lambda (degree)
|
||||
(display (string-append "degree "
|
||||
(number->string degree)
|
||||
": "))
|
||||
(for-each
|
||||
(lambda (num)
|
||||
(display (string-append (number->string (multi-factorial num degree))
|
||||
" ")))
|
||||
(iota 10 1))
|
||||
(newline))
|
||||
(iota 5 1))
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
func mfact(s, n) {
|
||||
n > 0 ? (n * mfact(s, n-s)) : 1
|
||||
}
|
||||
|
||||
10.times { |s|
|
||||
say "step=#{s}: #{1..10 -> map {|n| mfact(s, n)}.join(' ')}"
|
||||
}
|
||||
|
||||
{ |s|
|
||||
say "step=#{s}: #{{|n| mfact(s, n)}.map(1..10).join(' ')}"
|
||||
} << 1..10
|
||||
|
|
|
|||
2
Task/Multifactorial/Zkl/multifactorial.zkl
Normal file
2
Task/Multifactorial/Zkl/multifactorial.zkl
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fcn mfact(n,m){ [n..1,-m].reduce('*,1) }
|
||||
foreach m in ([1..5]){ println("%d: %s".fmt(m,[1..10].apply(mfact.fp1(m)))) }
|
||||
Loading…
Add table
Add a link
Reference in a new issue