|
Publicité ' | ||||||||||||||||||||||||
|
|
#141 | ||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 14 ![]() |
Je suis content d'apprendre que je suis pas le seul à m'interesser aux partitions d'un entier...
Pour commencer je ne crois pas qu'il soit possible d'avoir une formule simple pour compte les solutions (ramanujan et hardy ont une formule degueulasse et probablement indémontrable qui donne un O avec égalité jusqu'a n=200 si ma mémoire est bonne) Ensuite je suis impressionné par vos solutions et surtout par vos optimisations, ca prouve qu'il me reste beaucoup à apprendre... Bref pour ce qui est du code, j'ai fait une solution en Ada et je suis entrain d'en mettre au point une en perl (pas trop des langages fonctionnels je sais...) Au niveau Ada comme je l'ai expliqué sur mon post dans la section ada j''utilise un algorithme recursif qui génère l'abre des solutions... j'arrive à calculer jusqu'à N=77 sur une machine normale en temps j'ai part(50)=>0.444s 204226 part(60)=>1.791s 966467 part(70)=>7.427 4087968 et plus de 50s pour n=77 je pensais pas qu'il etait possible d'avoir des resultats pour n=120 et plus vu le nombre de listes possibles... enfin bon voila le code Code ada :
Deja je viens de penser qu'à partir du moment ou j'ai rajouté un 1 je sais que je n'aurais plus que ça... Je reviens bientot avec un meilleur programme |
||
|
|
00
|
|
|
#142 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 14 ![]() |
Bon j'ai réussi à améliorer un peu en arretant les appels recursifs quand Val=1. J'arrive à N=88 en 20s et quelque ce qui est vraiment beaucoup mieux, après je ne vois pas à quoi pourrait me servir de memoriser mes resultats puisque chaque liste est genérée de manière unique, il me semble que je ne recalcule rien...
Si certains d'entre vous voient des améliorations je vous en prie... Bonne nuit, j'ai cours demain l'air de rien
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com