Probleme de longeur en C

Bonjours, j ia un petit probleme en C, j ia cree un programme, mais il donne des erruer que j'arrive pas a enlever :
#include <stdio.h>
void main()
{
double n; double rst1; double rst2; double d;
double x = 13407807929942597099574024998205846127601533213795056077209462877025034368196627761240552786569937831201077590982462638461210895540034428529412103952374939;
while ((rst1 !=0 ) || (rst2 != 0)) {
n++;
rst1=x%(6*n-1);
rst2=x%(6*n+1);
}
if (rst1==0) {
printf((6*n+1)+"et ausi\n"+(x/(6*n+1)));
}
if (rst2==0) {
printf((6*n-1)+"et ausi\n"+(x/(6*n-1)));
}
return 0;
}

Mais l'operation %(modulo) n'est possible qu avec des nombre entier..... comment faire ?
Merci de votre reponse

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    le % n'a aucun sens pour des reels et donc tu ne peux l'utiliser pour des double.
    Tout ce q tu peux faire, c'est le faire a la main, je vois qe tu utilises le double pour avoir des nombres entiers tres grds, cherches sur google, il existe des bibliotheqes pour les biginteger.

    tafiscobar "lou waye def bopame"
    la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
    1. % c bien modulo en C (avec tout c language je me perd un peu desfois..
      T'aurais pas un site a me donné ?
      Merci pourton aide

      Me revoici me revoila, Golby ou yoda
      Oui toujours paré, paré pour foutre le DAWA
  2. Big interger c que pour le perl ?
    haa je trouve pas ce ma saoul...
    Persone ne peut m 'aider ?

    Me revoici me revoila, Golby ou yoda
    Oui toujours paré, paré pour foutre le DAWA
    1. Modérateur
      Ton "double x" n'est pas légal en C.
      Essaye de trouver une bibliothèque C qui gère des entiers de grande taille.... et qui te fournisse un modulo sur les structures associées.
      De toute façon un modulo sur les doubles n'a pas de sens au vu de leur
      représentation et précision.

      Johan
      The software said "Requires Windows98, Win2000, or better,
      So I installed Unix.
      1. Je sait, si je reformul la question c'est : comment ,en C, assigner un valeur numerique des 513 bit a un nombre, sachant qu il doit etre interger et unsigned.
        Y'as aucun biblioteque qui fait ca