Methodes
Résolu/Fermé
ss10
Messages postés
5
Date d'inscription
lundi 2 janvier 2012
Statut
Membre
Dernière intervention
4 février 2012
-
2 janv. 2012 à 21:51
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 3 janv. 2012 à 03:11
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 3 janv. 2012 à 03:11
A voir également:
- Dans le document à télécharger, léa a utilisé 2 méthodes différentes pour centrer le nom des continents. lesquels sont centrés correctement ?
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Telecharger whatsapp pour pc - Télécharger - Messagerie
- Supercopier 2 - Télécharger - Gestion de fichiers
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Comment télécharger une vidéo youtube - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
2 janv. 2012 à 22:31
2 janv. 2012 à 22:31
avec quel langage ?
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 3/01/2012 à 03:14
Modifié par jisisv le 3/01/2012 à 03:14
Utilise la méthode de Horner.
En C par exmple:
Ceci permet de réduire la complexité d'un ordre O(n²) à un ordre O(n). n étant l'argument exposant de la fonction.
Je n'ai pas traité toutes les conditions d'erreur de atoi et atof.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
En C par exmple:
johand@osiris: ~/src/CCM/C $ cat powint.c #include <stdlib.h> #include <stdio.h> float powi(float base, int pow) { float res = 1.0; float facteur = base; if (pow < 0) { facteur = 1.0 / base; pow = -pow; } while(pow) { if(pow & 1) { res = res * facteur; } facteur = facteur * facteur; pow = pow >> 1; } return res; } int main(int argc, char *argv[]) { float f; int p; if(argc >=3) { f = atof(argv[1]); p = atoi(argv[2]); printf("%f to the power %d is %f\n", f, p , powi(f, p)); return EXIT_SUCCESS; } else { fprintf(stderr, "Usage is %s base power\n", argv[0]); return EXIT_FAILURE; } } johand@osiris: ~/src/CCM/C $ gcc -Wall -o powint powint.c johand@osiris: ~/src/CCM/C $ ./powint 5 -3 5.000000 to the power -3 is 0.008000 johand@osiris: ~/src/CCM/C $ ./powint 0.3 4 0.300000 to the power 4 is 0.008100
Ceci permet de réduire la complexité d'un ordre O(n²) à un ordre O(n). n étant l'argument exposant de la fonction.
Je n'ai pas traité toutes les conditions d'erreur de atoi et atof.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)