Divis()
Prgm
ClrIO
Local b,c,d,e,f,g,i,l,n,h
0»e
newList(e)»d
newList(e)»f
Input "Donner un nombre :",n
string(factor(n))»b
ClrIO
While dim(b)>0
1+e»e
inString(b,"*")»g
If g=0 Then
b»c
""»b
Else
left(b,g-1)»c
mid(b,g+1)»b
EndIf
inString(c,"^")»h
If h=0 Then
expr(c)»d[e]
1»f[e]
Else
expr(left(c,h-1))»d[e]
expr(mid(c,h+1))»f[e]
EndIf
EndWhile
{1}»l
For i,1,e
matÐlist(seq(d[i]^x*l,x,0,f[i]))»l
EndFor
SortA l
Disp "Les "&string(dim(l))&" diviseurs de "&string(n)&" sont :"
Pause l
DispHome
EndPrgm
Ð --> Le petit triangle
C'est un des programmes les plus rapides du genre en plus
EDIT : A partir de 400, la différence est sensible.
A partir de 25000, elle est très visible