A 2,-re még nem tudom a választ, de az elsőre tudok felelni.
Egy n természetes szám kanonikus alakja a megfelelő kitevőre emelt prímtényezők szorzata. (A megfelelő kitevő = ahányszor előfordul a felbontás során.) Például a 40 kanonikus alakja a 2^3 x 5.
A kanonikus alakból a fenti link - és más, nálam okosabb emberek szerint - úgy következik az osztók száma, hogy fogod a prímtényezők kitevőit, mindegyikhez hozzáadsz egyet és ezeket az összegeket összeszorzod. Azaz pl a 40 esetén, d(40) = (3 + 1)(1 + 1) = 8, és láss csodát a 40 osztói: {1,2,4,5,8,10,20,40}.
Ha nem pontos, akkor bocsánat, bölcsész vagyok amúgy. :)
-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO