begin process at 2012 05 30 19:16:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Trouver le nombre X


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trouver le nombre X

mardi 29 juin 2010 à 14:59:39 | Trouver le nombre X

mustaphase

bonjour les amis ,
je viens de résoudre une énigme mathématique qui dit :

Trouver le Nombre X , composé de 87 chiffres , et divisible par 2^87 , et il est composé juste par les chiffres 8 et 7, ( les 87 chiffres sont des 8 ou des 7 ).

Alors j'ai trouvé l'idée , on va cherché le nombre X en procédant comme suit:
*Le nombre composé de 1 chiffre à droite doit être divisible par 2^1 alors c'est 8.
*Le nombre composé de 2 chiffres à droite doit être divisible par 2^2 alors c'est 88.
*Le nombre composé de 3 chiffre à droite doit être divisible par 2^3 alors c'est 888.
*Le nombre composé de 4 chiffre à droite doit être divisible par 2^4 alors c'est 7888. ( Jusque ici on a trouvé les 4 derniers chiffres du X)
.....
Jusqu'au nombre X composé de 87 chiffres.

Le problème c'est que c'est pas facile à la main ... alors j'ai besoin d'un programme qui me donne le résultat , j'ai essayé avec le programme au dessus mais ca marche pas , Vous pouvez m'aider SVP ... SVP ... et Merci d'avance...
je suis débutant , j'utilise CodeBlocks et comme vous voyez c'est un code très très basique

Voila le Code:
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{

  int  T[86]={0};
  int y,i;
  int x=8;



  for (i=0;i<87;i++)

        {

            T[i]=8;
            y=pow(2,i+1);
            if (x%y==0)

                    {
                        T[i]=8;
                    }
            else
                    {
                         T[i]=7;
                    }



                        x=x+(T[i]*pow(10,i+1));

                        printf(" %d \n",x);

        }

         printf("\n\nle nombre est :");

        for (i=86;i>=0;i--)
            {
                printf("%d",T[i]);
            }

          printf("\n\n");

  return 0;
}


Merciiiiii


mercredi 30 juin 2010 à 08:45:29 | Re : Trouver le nombre X

louis14

Je ne comprend pas le nombre est composé de 87 chiffres et il soit être divisible par 2^87 ( 2^87 a plus de 87 chiffres).



louis
mercredi 30 juin 2010 à 13:26:41 | Re : Trouver le nombre X

mustaphase

Merci Louis

mais , 2^87=154742504910672534362390528

cad il a 27 chiffres seulement

cordia..
jeudi 1 juillet 2010 à 08:57:59 | Re : Trouver le nombre X

louis14

Pardon pour la remarque.
Dans ce cas il faut passer par une classe qui gère les grands nombres car int ou long ont une valeur max qui est inférieure à un nombre de 87 chiffres ( j'ai essayé 2^87 avec pow et j'ai 0 comme résultat).
A la place de pow utilise (*2). et forme ton nombre avec : ancien*10 + (8 ou 7).
Il y a une classe de ce type sur ce site ou bien google est ton ami.

louis
jeudi 1 juillet 2010 à 10:43:17 | Re : Trouver le nombre X

mad_love_disease


Tout à fait louis!

unsigned long int est codé sur 32 ou 64 bits selon ta machine donc le maximum que tu peux obtenir est 2^32 ou 2^64

Mais le problème ici est de trouver un nombre ayant une relation de multiple/diviseur dans deux bases différentes (base 2 pour les diviseurs, base 10 pour les chiffres) Peut etre qu'il existe une manière analytique et non algorithmique pour résoudre ce problème.

Sinon, une classe pour les "grands entiers" comme l'a bien suggeré Louis!

Nico
vendredi 2 juillet 2010 à 05:08:36 | Re : Trouver le nombre X

manudiclemente

Boost offre des classes de grands entiers, je crois...

Sinon ma première idée serait :
- déterminer l'ordre de grandeur du facteur
- tenter de multiplier le nombre avec plusieurs facteurs
- traiter le nombre obtenu comme une chaine et comparer chaque "chiffre" à 8 et 7 pour vérifier...

long et moche

Faut demander au mathématiciens


Cette discussion est classée dans : nombre, int, chiffres, composé, divisible


Répondre à ce message

Sujets en rapport avec ce message

Nombre d'entier d'un fichier composé de chiffres [ par ValToutCourt ] Bonjour à tous, j'ai un probléme en programmation, je dois recupérer le nombre d'entier stoké dans un fichier, ca parait bidon, mais j'ai deja tout es Probleme fonctions [niveau debutant] [ par zzzzzz ] en fait je voulais faire une applic qui nous demande un nombre de part et de fin si on met par exemple 2 et 7 sa ecrira 234567 grace a une boucle. le getch ou getchar() ? [niveau debutant] [ par zzzzzz ] :P //---------------------------------------------------------------------------#include #include // getch()#include // c vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable Aide algorithmique TESTAGE !! [ par ZogStriP ] Bonjour tout le monde !!Je suis en train de faire le concours de PROLOGIN (www.prologin.org) et j'en suis au QCM 2004 n°4, mais là je bloque un peu!Je Programme avec Builder C++ [ par Kyzand ] j'ai un programme a faire mais je suis bloquéje le lis''Un nombre Armstrong est défini comme étant un nombre de n chiffres dont la somme des puissance Tableau et char to int [ par Niníel ] Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo Vitesse des instructions [ par Galmiza ] Salut,1- J'aimerais savoir ou trouver la vitesse d'execution des operations elementaires (add, mov, ...) et plus evoluées (sqrtf, cos, ...) .Pour un p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,028 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales