|
Posté le 15-12-2014 à 14:28 | #
|
Je suis entrain de regarder ça de plus près !
Tu peux commencer par remplacer les If Then IfEnd par la double flèche ⇒.
Ensuite tu remplaces le 1x10¨^-8 par 1E-8.
et tu en profites pour mettre les bons moins (-) et non l'opération -, au bons endroits, ça marche mais ça me choque ! (celui de la puissance -8 et celui du -P→P)
Et maintenant j'essaie de comprendre pourquoi cette profusion de variables ?
Si tu pouvais nous expliquer en quelques mots la façon dont tu t'y prends, ça m'aiderait bien à comprendre.
|
|
|
Posté le 15-12-2014 à 16:24 | #
|
Les -, c'est pas trop grave, vu que l'opérateur - remplacera -5 par 0-5 (comme le fait le ".")
Par contre, pour l'algo il suffit pas d'un boucle et d'un peu de bruteforce ? Du style
?->N
0->I
0->A
1->B
While B!=A
Isz I
NI->B
Int B->A
WhileEnd
B◢
"___"
A◢
Avec une méthode d'affichage très recherchée... |
|
|
Posté le 15-12-2014 à 22:13 | #
|
Je teste ça demain.
|
|
|
Posté le 17-12-2014 à 18:52 | #
|
@Drac0300 : j'ai testé ton programme ... et il ne marche pas du tout !! J'ai entré 0.25 il m'a rendu 1/1 et pour 0.3333333333 mon programme rend 1/3 en moins d'une seconde alors que le tiens a tourné pendant 10mins sur ma calculatrice avant que je l'arrête ... Il doit y avoir un petit problème quelque part.
Mais j'apprécie énormément que vous vous soyez penché sur la question, merci beaucoup à vous deux !!! |
|
|
Posté le 17-12-2014 à 21:27 | #
|
oui, il y a un petit problème. |
|
|
Posté le 17-12-2014 à 23:42 | #
|
En vrai je suis débile, je fais un programme qui converti tout les nombres décimaux en fractions en 120 octets, et moins d'un quart de seconde
Par contre faut que j'améliore le PGCD pour traiter de plus grand nombre |
|
|
Posté le 18-12-2014 à 07:54 | # | Fichier joint
|
J'ai entré 1,1 et j'ai eu 11/11. Pour 0,33 j'ai stoppé la machine après plusieurs minutes sans avoir eu de résultat.
J'ai trouvé le problème !
il faut remplacer A◢ par I◢ à la fin du programme !
et pour la méthode d'affichage qui déchire, faut mettre des espaces avant le trait de fraction sinon il n'est pas en dessous du numérateur !
ça nous amène pile poil à 100 Octets ! 8)
Je le met en fichier joint pour les fainéants comme moi qui n'aiment pas retaper les programmes !
|
|
|
Posté le 18-12-2014 à 16:43 | #
|
Est-ce que le programme fait aussi les approximations, par exemple de π (22/7, 355/113, tout ça tout ça...) ? |
|
|
Posté le 18-12-2014 à 17:49 | #
|
@Lephé: Non désolé le programme est un petit utilitaire tout simple que j'ai créé dans le but de le rajouter dans un programme sans le rendre trop lourd, il ne gère donc pas les approximations sous forme de fractions des transcendants (π, √2, e ... ).
@Fabcvlr: J'ai testé ton programme et il est beaucoup moins puissant que Convfrac teste 0.33333 ton programme ne m'a jamais donné le résultat ... |
|
|
Posté le 18-12-2014 à 18:05 | #
|
Ce n'est pas mon programme, c'est celui de DS. Il fonctionne très bien pour des nombres décimaux pas trop longs. Il est très rapide jusqu'à 3 chiffres.
|
|