IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Calculer la racine carrée d'un nombre d'une façon particulière


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Par défaut Calculer la racine carrée d'un nombre d'une façon particulière
    Bonjour,

    Je dois trouver la racine carrée d'un nombre, mais pas avec Math.sqrt ou d'autres façons.
    La methode que je dois utiliser est basé sur ce tableau:

    Code:
    CARRÉE 0 1 2 3 4 5 6 7 8 9 10 .. 15 16 17 .. 24 25 26 27
    RACINE 0 1 1 1 2 2 2 2 2 3 3 .. 3 4 4 .. 4 5 5 5


    Qui est sur wikipédia après le milieu de la page : http://fr.wikipedia.org/wiki/Racine_carr%C3%A9e
    J'ai remarqué le zéro se répète une seule fois, le un trois fois, le trois cinq fois ... 2n-1 fois globalement.

    ça fait plusieurs jours que j'essaie de trouver l'algorithme de ce tableau, mais je n'ai rien trouvé. Je demande donc votre aide pour essayer de voir les choses plus clairement.

    Merci pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 294
    Par défaut
    Tu as la formule sous le tableau:
    D'apres cette ligne tu peux recuperer la racine entiere du nombre que tu cherches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((a+1)^2-a^2-1)/2= la racine entiere que tu recherches
    Vu que tu ne peux pas faire ^2, utilise la multiplication.

  3. #3
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Bonjour,

    Tu as besoin de 4 entiers :
    n = le carré
    racine = 1-2-3-4-5-6-7-8-...
    impair = 3-5-7-9-11-13-15-...
    sommeImpair = 3-8-15-24-35-48-...

    1/ tu fais un cas particulier si n =0
    2/ tu initialise racine, impair et sommeImpair
    3/ tu fait une boucle tant que sommeImpair<n
    3 bis/ dans la boucle tu modifie les valeurs de racine, impair et sommeImpair
    4/Sortie de boucle, tu retournes racine.

    Voila

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 294
    Par défaut
    L'inconvéniant de ton code est qu'il doit initialiser des variables. Si il a besoin de la racine de 1.000.000, je pense pas qu'il aura la réponse.

    Avec la formule donnée précédement, il lui suffit de connaitre le chiffre dont il veut la racine.

  5. #5
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    L'inconvéniant de ton code est qu'il doit initialiser des variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int racine = 1;
    int impair = 3;
    int sommeImpair = 3;
     
    //Boucle
    //...
    Je ne vois pas en quoi c'est un inconvénient

    Si il a besoin de la racine de 1.000.000, je pense pas qu'il aura la réponse.
    Bâ... si il fera 999 tours dans la boucle (normal vu que 1000 c'est la racine carré)
    Avec la formule donnée précédement, il lui suffit de connaitre le chiffre dont il veut la racine.
    C'est surement vrai, mais je n'ai pas réussi à utiliser la réponse que tu as donné(Je sais, je suis pas doué ), donc j'ai fais ma propre version. Si tu veux m'expliquer(ré expliquer par contre je suis ouvert

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 294
    Par défaut
    Oups c'est moi qui fait l'erreur. Je me suis trompé dans mes calculs. Il ne faut pas procéder de la maniere que j'ai expliquer plus haut. Mais on peut quand meme utiliser la formule car elle nous apprend que :
    Le nombre de fois que l’entier n est répété est le n-ième entier impair.
    Il doit etre possible d'utiliser ceci dans une boucle.

Discussions similaires

  1. Calcul de la racine carrée d'un nombre
    Par Anomaly dans le forum Télécharger
    Réponses: 3
    Dernier message: 05/11/2013, 00h16
  2. Nombre premiers et calculer la racine carrée d'un nombre
    Par Roud9 dans le forum Débuter avec Java
    Réponses: 19
    Dernier message: 21/09/2010, 18h55
  3. Calculer la racine quelconque d'un nombre
    Par badkiller3100 dans le forum Langage
    Réponses: 5
    Dernier message: 12/09/2007, 18h51
  4. Réponses: 2
    Dernier message: 17/02/2007, 06h43
  5. la racine carré d'un nombre
    Par aziz jim dans le forum C++
    Réponses: 4
    Dernier message: 07/08/2006, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo