pandakill
Messages postés3Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention20 mars 2005
-
19 mars 2005 à 23:53
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
21 mars 2005 à 11:20
Bonjour à tous,
Voila j'ai récemment fait le programme suivant en C pour résoudre une solution, et malgré tous mes efforts je ne comprends pas pourquoi la condition IF ne marche plus à un certain moment càd lorsque x devient trop grand ..Aidez moi svp à comprendre :
#include <stdlib.h>
#include <stdio.h>
int main(){
int y,x,i,valeur ;
y = 1;
begin:
valeur = 395425559298;
y++;
x = y;
for (i = 1; i<= y;i++)
{
x+=y+i;
}
if(x < valeur){
printf("::%i::\n", x);
printf("%i\n", y);
goto begin;
}
printf("La solution est : %i", y);
getchar();
}
chez moi mon programme s'arrête pour x=288544545 qui est pourtant largement inférieur à 395425559298. Est-ce un problème de mémoire ?
pandakill
Messages postés3Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention20 mars 2005 20 mars 2005 à 03:06
arff... que ce soit avec long long int ou __int64, je ne peux qu'obtenir des nombres a 9 chiffres..et le mien en fait 12...
Bon bah je crois que c'est fichu...
Merci quand même
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 20 mars 2005 à 09:39
Ces nombre étant codés sur 64 bits, tu as assez de chiffres. Par contre
pour les afficher c'est différent (ce n'est pas %d, mais %ll pour long
long et pour __int64 je ne sais plus).
Vous n’avez pas trouvé la réponse que vous recherchez ?