La fonction sera de la forme:
- Code: Tout sélectionner
Define isperfect(n)=
Func
votreCode
EndFunc
Vous serez noté sur la rapidité d’exécution du programme en fonction de la grandeur du nombre en entrée.
Define isperfect(n)=
Func
votreCode
EndFunc
Return mod(n!,n^(2))=n*(n-1)
marche et est possiblement le plus court (?), mais forcément, il va pas aller bien loin..... Return ∑(i*int(n/i),i,1,n-2)=1+∑(i*int((n-1)/i),i,1,n-1)
Return n=sum(seq(when(mod(n,i)=0,i,_),i,1,n-1))
_
au lieu de 0
car c'est un poil plus rapide (un test avec 1 million de fois montre une différence de 0.1 seconde, d'après le timer du Lua)Return when(mod(n,2)≠0,false,n=sum(seq(when(mod(n,i)=0,i,_),i,1,n-1)))
Retourner vers Mini-Challenges
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité