June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -0,0 +1,30 @@
integer
mf(integer a, integer n)
{
integer o;
o = 1;
do {
o *= a;
} while (0 < (a -= n));
return o;
}
integer
main(void)
{
integer i, j;
i = 0;
while ((i += 1) <= 5) {
o_("degree ", i, ":");
j = 0;
while ((j += 1) <= 10) {
o_("\t", mf(j, i));
}
o_("\n");
}
return 0;
}

View file

@ -0,0 +1,17 @@
REM >multifact
FOR i% = 1 TO 5
PRINT "Degree "; i%; ":";
FOR j% = 1 TO 10
PRINT " ";FNmultifact(j%, i%);
NEXT
PRINT
NEXT
END
:
DEF FNmultifact(n%, degree%)
LOCAL i%, mfact%
mfact% = 1
FOR i% = n% TO 1 STEP -degree%
mfact% = mfact% * i%
NEXT
= mfact%

View file

@ -0,0 +1,15 @@
USING: formatting io kernel math math.ranges prettyprint
sequences ;
IN: rosetta-code.multifactorial
: multifactorial ( n degree -- m )
neg 1 swap <range> product ;
: mf-row ( degree -- )
dup "Degree %d: " printf
10 [1,b] [ swap multifactorial pprint bl ] with each ;
: main ( -- )
5 [1,b] [ mf-row nl ] each ;
MAIN: main

View file

@ -1,18 +1,14 @@
function multifact{T<:Integer,U<:Integer}(n::T, k::U)
-1<n && 0<k || throw(DomainError())
1 < k || return factorial(n)
r = one(T)
for i in n:-k:2
r *= i
end
return r
function multifact(n::Integer, k::Integer)
n > 0 && k > 0 || throw(DomainError())
k > 1 || factorial(n)
return prod(n:-k:2)
end
khi = 5
nhi = 10
println("Showing multifactorial for n in [1,", nhi, "] and k in [1,", khi, "].")
const khi = 5
const nhi = 10
println("Showing multifactorial for n in [1, $nhi] and k in [1, $khi].")
for k = 1:khi
a = Int64[multifact(i, k) for i in 1:nhi]
lab = "n"*"!"^k
println(@sprintf(" %-6s => ", lab), a)
a = multifact.(1:nhi, k)
lab = "n" * "!" ^ k
@printf(" %-6s → %s\n", lab, a)
end

View file

@ -0,0 +1,16 @@
f := proc (n, m)
local fac, i;
fac := 1;
for i from n by -m to 1 do
fac := fac*i;
end do;
return fac;
end proc:
a:=Matrix(5,10):
for i from 1 to 5 do
for j from 1 to 10 do
a[i,j]:=f(j,i);
end do;
end do;
a;