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 :

Nombre premiers et calculer la racine carrée d'un nombre


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 Nombre premiers et calculer la racine carrée d'un nombre
    Bonjour,

    C'est la première fois que je poste sur ce site, donc je ne sais pas si c'est vraiment la bonne catégorie. J'essaie d'écrire un petit programme java qui détermine si un nombre est premier ou non, ça donne ça:

    if (nombreEntré % 2 != 0)
    System.out.println(nombreEntré +" est un nombre premier");
    else if(nombreEntré % 2 == 0 && nombreEntré != 2)
    System.out.println(nombreEntré +" n'est pas un nombre premier");

    mais si je rentre 51 (qui n'est pas un nombre premier) il me dit qu'il est premier parce qu'il est impair. Ma question est de quel façon faut-il modifier le programme pour qu'il détecte les nombre impairs composés comme étant non premiers?

    Et je cherche à exprimer la racine carrée d'un nombre, mais sans math.sqrt(), plutôt avec des boucle if...else ou while. y'a t'il un moyen?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de akrom
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    Voila une fonction pour calculé une racine carre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Double racineCarre(Double nombre){
            double resultat = 0 ;
            double rc2;
            int i=0;
            double rc1=1;
     
            while(i<100){
                resultat=0.5*(rc1+(nombre/rc1));
                rc1=resultat;
                i++;
            }
            return resultat;
        }
    Plus le nombre de tour de boucle est important plus le résultat sera précis

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est plutot dans la section algorithme que tu devrais aller. Savoir si un nombre est premier ou pas, c'est un algorithme récursif, qui basiquement va parcourir tous les nombres de 1 à SQRT(N) pour voir si ils divisent N. Quand à la racine carrée 'à la main', il existe plus algorithme, faire une recherche sur le net. Pareil d'ailleurs pour l'algorithme des nombres premiers.

  4. #4
    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 : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	public boolean isPremier(int n) {
    		boolean isPremier = true;
    		if (n < 0) {
    			isPremier = false;
    		} else if (n != 0 && n != 1) {
    			for (int i = 2; i <= n/2; i++) {
    				if (n != i && n % i == 0) {
    					isPremier = false;
    					break;
    				}
    			}
    		}
    		return isPremier;
    	}
    premier lien google avec "nombre premier java"

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    comme je l'ai dit n/2 sert à rien, on s'arrête à la racine carré :p

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Par défaut
    et juste pour info : le %2 te dira si le nombre est impair ou non et non si il est premier.

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: 04/11/2013, 23h16
  2. Calculer la racine carrée d'un nombre d'une façon particulière
    Par Roud9 dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 29/09/2010, 03h11
  3. Réponses: 2
    Dernier message: 17/02/2007, 05h43
  4. Comment calculer une racine carrée ?
    Par Poseidon62 dans le forum Ada
    Réponses: 9
    Dernier message: 28/11/2006, 00h29
  5. la racine carré d'un nombre
    Par aziz jim dans le forum C++
    Réponses: 4
    Dernier message: 07/08/2006, 14h31

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