Bonjour,
J'étais sous perl et pour des raisons d'optimisations je viens de transcrire mon script en C++ (je précise que je suis nul dans ce langage).
J'ai besoin de faire des puissances de n, j'utilise donc math.h et pow().
Mon problème est le suivant : parfois la fonction retire 1 sans raison
Ça marche nickel avec 12, pas avec 11 et 23 : peut-être est-ce la magie des nombres premiers
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <iostream> #include <math.h> using namespace std; int main(){ int n=4; unsigned long int d=0; unsigned long int e=0; unsigned long int f=0; d = pow(23,n); //donne 279841 - 1 e = pow(23,4); //donne 279841 f = 23*23*23*23; //donne 279841 }
Y a t-il une raison ? (c'est pas dérangeant mais ce "bug" de la fonction pow est étrange)
PS : le même code en perl marche à merveillevive C++
Merci de votre réponse éventuelle et encore désolé de poster un problème qui peut vous paraître aussi basique ...
Partager