Rechercher : dans
Par :

[java] nombre premier

Dernière réponse le 14 aoû 2005 à 19:49:01 babyglo, le 18 jui 2005 à 14:31:53 
 Signaler ce message aux modérateurs

Bonjour,

Est-ce que l'un d'entre vous aurait un programme en Java qui affiche un message disant si l'entier n (lu sur la ligne de commande) est un nombre premier ou non? SVP

Merci d'avance.

Meilleures réponses pour « [java] nombre premier » dans :
Vérifier si un nombre entier est un nombre premier en C Voir Définition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Exercice assembleur x86 nombre premier VoirIntroduction Notions abordées dans cet exercice Enoncé Rappel Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
Conversion d'un nombre entier 32 bits en IP VoirConversion d'un nombre entier 32 bits en IP Nombre à convertir : 3265917058 Représentation binaire 11000010 10101001 11110000 10000010 - 3265917058 00000000 00000000 00000000 11000010 - 3265917058 >> 24 ( 194 ) 11000010 10101001 11110000...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
Le chiffrement avec RSA Voirle système RSA Le premier algorithme de chiffrement à clé publique (chiffrement asymétrique) a été développé par R.Merckle et M.Hellman en 1977. Il fut vite rendu obsolète grâce aux travaux de Shamir, Zippel et Herlestman, de célèbres...

1

Canard007, le 18 jui 2005 à 14:44:06

Salut,

tu trouvera ici les algo
http://www.haypocalc.com/maths/algo_premier.php
ya plus qu'a retranscrire en java. Please Insert COIN!

Répondre à Canard007

2

magic charly, le 18 jui 2005 à 14:44:31

Je n'ai pas le code source mais si tu souhaites réaliser le code par toi meme je peux te donner un "petit" coup de pouce.


i entier=1
pas_premier booleen (initialisé a faux)

lire (nombre)
Tu fais une boucle while dont la condition est (i>partie entière de (racine(nombre))ou(pas_premier=true){
si (reste de la division par i de nombre est nul) alors pa_premier =true
incrementation de i
}
si (pa_premier = true) alors écrire (nombre est pa premier) sinon écrire(nombre est premier)

Répondre à magic charly

3

babyglo, le 23 jui 2005 à 22:44:05

Merci pour vos réponses.

J'ai surtout essayé avec le site haypocalc car les histoires de racine j'avoue que c'est pas mon truc :-).
Malheureusement ça fait deux soirs que j'essaye de réécrire en java mais y'a un truc que j'arrive pas à capter, je commence à désespérer... En attendant, si quelqu'un a une autre suggestion je suis preneuse!

Répondre à babyglo

4

bxflash, le 24 jui 2005 à 03:49:28

Salut babyglo

tu trouveras la réponse dans le paradis des nombres premiers en java

http://jc.michel.free.fr/premiers.php


bxflash

Tu y arrives en java?

Je suis pas fortiche, plus j'étudie et moins j'y comprends...

Répondre à bxflash

5

HackTrack, le 24 jui 2005 à 07:42:03
  • +1

	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;
	}


;-)
HackTrack

Répondre à HackTrack

6

babyglo, le 14 aoû 2005 à 18:45:44

Bonjour à tous,

HackTrack, ton algo marche très bien! Y'a juste un petit souci : il donne true pour le nombre 1 alors que ce n'est pas un nombre premier. Mais ça devrait aller je devrais bien arriver à corriger ça....

En tout cas, un énorme merci !!!

A bientôt.

Répondre à babyglo

7

 guigolum, le 14 aoû 2005 à 19:49:01
  • +2

Public boolean isPremier(int n){
if(n<=1) return false;
for(int i = 2;i*i<=n;i++) if (n%i ==0) return false;
return true;
}

si n n'est pas premier, alros il existe un nombre i<=sqrt(n) et un nombre j <=n tels que i*j==n
dans mon algo, on s'arrete bien avant n/2, plus le nombre est grand, plus le gain de temps est important(par exemple, pour l'ordre de 10000: le mien=> on s'arete vers 100, pour celui de hacktrack tu t'arreterais à 5000, soit 50 fois plus de temps..)

Répondre à guigolum