Voici un exercice que l'on donne au lycee Algorithme de liste les valuations p-adiques d'un entier naturel
Une implementation en Xcas
fonction Valuation_p_adique(n)
var P,tab,j,k;
tab:=[];P:=[2,3,5,7,11,13,17,19,23,29];
pour j de 0 jusque 9 faire
k:=0;
tantque irem(n,P[j]^k)==0 faire
k:=k+1;
ftantque
tab.append([P[j],k-1]);
fpour
retourne tab
ffonction:;
Par exemple Valuation_p_adique(100!) renvoie:
On verifie directement en tapant:
ifactor(100!)
qui renvoie la decomposition:
2^97*3^48*5^24*7^16*11^9*13^7*17^5*19^5*23^4*29^3*31^3*37^2*41^2*43^2*47^2*53*59*61*67*71*73*79*83*89*97
soit: