Si
n = ajj! avec
0
aj < j et aJ
0 on a :
J! n = aJJ! +
ajj! < J . J! +
j . j!
donc
J! n < (J + 1)!
ecritfac(n):={ local j,J,k,L,a; L:=NULL; j:=1; tantque n>=j! faire j:=j+1 ftantque; J:=j-1; pour k de J jusque 1 pas -1 faire a:=iquo(n,k!); L:=L,a; n:=irem(n,k!); fpour; return L; }:;On tape : ecritfac(43)