begin process at 2012 02 15 12:46:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths et Algorithmes

 > RECHERCHER LES DIVISEURS D'UN NOMBRE

RECHERCHER LES DIVISEURS D'UN NOMBRE


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths et Algorithmes Classé sous :division, rechercher, diviseur, nombre, chiffre Niveau :Débutant Date de création :23/09/2002 Date de mise à jour :23/09/2002 14:36:32 Vu :12 850

Auteur : Neozix

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Ce programme recherche les diviseurs de X intelligement...

Source

  • public class Diviseur2
  • {
  • public static void main(String args[])
  • {
  • int nb ;
  • if(args.length !=1)
  • {
  • message() ;
  • return ;
  • }
  • if(cEstUnEntier(args[0])==false)
  • return ;
  • nb = searchDiv(args[0]) ;
  • System.out.print("\n\n\t Il y a "+ nb +" diviseur(s)\n\n") ;
  • }
  • /*******************************************************************/
  • static void message()
  • {
  • System.out.print("\n\n\n\t\t Il faut entrer 1 et 1 seul paramêtre\n") ;
  • System.out.print("\n\t\t\t Exemple : Java Diviseur1 100\n\n") ;
  • }
  • /*******************************************************************/
  • static boolean cEstUnEntier(String fabilou)
  • {
  • int a ;
  • try
  • {
  • a=Integer.parseInt(fabilou) ;
  • }
  • catch(NumberFormatException e)
  • {
  • System.out.print("\n\n\t" + fabilou + " n'est pas un entier\n\n") ;
  • return false ;
  • }
  • return true ;
  • }
  • /*******************************************************************/
  • static int searchDiv(String para)
  • {
  • int i, n, cpte ;
  • int tabilou[] = new int[700] ;
  • final int VIDE = 0;
  • int debut=0, fin=699;
  • cpte=0 ;
  • n=Integer.parseInt(para) ;
  • System.out.print("\n\n");
  • //initialiser le tableau à vide
  • for(i=0; i<=699; i++)
  • tabilou[i]=VIDE;
  • for(i=1; i<=(int)Math.sqrt(n); i++)
  • {
  • if (n%i==0)
  • {
  • tabilou[debut]=i;
  • cpte++;
  • debut++;
  • if(i!= n/i)
  • {
  • tabilou[fin]= n/i;
  • cpte++;
  • fin--;
  • }
  • }
  • }
  • for(i=0; i<=699; i++)
  • if(tabilou[i]!=VIDE)
  • {
  • System.out.print(tabilou[i] + "\t\t");
  • }
  • return cpte ;
  • }
  • /*******************************************************************/
  • }
public class Diviseur2
	{
	public static void main(String args[])
		{
		int nb ;
		
		if(args.length !=1)
			{
			message() ;
			return ;
			}
			
		if(cEstUnEntier(args[0])==false)
			return ;
		
		nb = searchDiv(args[0]) ;
		
		System.out.print("\n\n\t Il y a "+ nb +" diviseur(s)\n\n") ;
		
		}
		
/*******************************************************************/
	
	static void message()
		{
		System.out.print("\n\n\n\t\t    Il faut entrer 1 et 1 seul paramêtre\n") ;
		System.out.print("\n\t\t\t Exemple : Java Diviseur1 100\n\n") ;
		}
		
/*******************************************************************/

	static boolean cEstUnEntier(String fabilou)
		{
		int a ;
		
		try
			{
			a=Integer.parseInt(fabilou) ;
			}
		
		catch(NumberFormatException e)
			{
			System.out.print("\n\n\t" + fabilou + " n'est pas un entier\n\n") ;
			return false ;
			}
			
		return true ;
		}
		
/*******************************************************************/

	static int searchDiv(String para)
		{
		int i, n, cpte ;
		int tabilou[] = new int[700] ;
		final int VIDE = 0;
		int debut=0, fin=699;
		cpte=0 ;
		
		n=Integer.parseInt(para) ;
		System.out.print("\n\n");
		
		//initialiser le tableau à vide
		for(i=0; i<=699; i++)
			tabilou[i]=VIDE;
		
		for(i=1; i<=(int)Math.sqrt(n); i++)
			{
			if (n%i==0)
				{
				tabilou[debut]=i;
				cpte++;
				debut++;
				
				if(i!= n/i)
					{
					tabilou[fin]= n/i;
					cpte++;
					fin--;
					}
				}
			
			}
			
		
		for(i=0; i<=699; i++)
			if(tabilou[i]!=VIDE)
				{
				System.out.print(tabilou[i] + "\t\t");
				}
	
		return cpte ;  		
		}

/*******************************************************************/

	}

 Conclusion

Ca plante vers 1 milliard :)
www.zonelinux.ch.tf


 Sources de la même categorie

IMPLÉMENTATION DE L'ENSEMBLE C AVEC JAVA par Scupper
CALCUL D'EXPONENTIEL ( PRÉCISION MODIFIABLE) par Scupper
Source avec Zip TRANSFORMATION D'UNE EXPRESSION ARITHMETIQUE (INFIXÉ) EN POS... par billatosco
PROBLÈME DES N-REINES par jojolemariole
Source avec Zip ARRAYMATRIX -MATRICE MULTIDIMENSIONELLE ET GÉNÉRIQUE- , IMP... par labandus

 Sources en rapport avec celle ci

IMPLÉMENTATION DE L'ENSEMBLE C AVEC JAVA par Scupper
STRING NUMBERS COMPUTATOR par loloof64
Source avec Zip ADDITION DE DEUX NOMBRES RÉELS "COMME A LA MATERNELLE" par zinotron
COMPARAISON par paradoxreal8
ECRIRE UN NOMBRE ENTIER EN TOUTE LETTRE par JHelp

Commentaires et avis

Commentaire de Julien39 le 29/09/2010 11:18:26 administrateur CS 1/10

"intelligement", c'est une blague ? Le problème est que tu teste pour tous les nombres qui sont potentielement diviseurs sans utiliser les particularités de l'entrée.

Si tu regardais si le nombre est pair (il finit par 0 dans le binaire donc c'est très rapide a vérifier) tu peux deja diviser ton temps d'execution par 2 en excluant tous les pairs...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Rechercher le nombre d'occurence dans une phrase avec indexOf() [ par daviddubois ] Bonjour tout le monde,Est-il possible de rechercher le nombre d'occurence d'un mot dans une phrase avec indexOf ?J'ai par exemple la variable phrase d Comment savoir si un nombre a des chhiffre apres la virgule? [ par nahzhir ] Bonjour comme le titre du sujet l'indique : je voudrais savoir si un double possede une chiffre apres la virgule dans mon application ce chiffre apres tronquer nombre de chiffre apres virgule [ par mouzoun_issam ] Bah voil&#224;, j'ai float f = 12,45467464 et moi j'veux dans un String recup&#233;rer 12,45.. &nbsp;&#199;a fait d&#233;j&#224; 1/2 heure que je cher Nombre de jours entre 2 dates ? [ par Zart ] Salut,Je suis en train de faire un truc pour s&#233;lectionner des dates et je voulais afficher le nombre de jours (d'ann&#233;e ou de mois ?) qui son ecouteur [ par mastermario ] bonjours, je voudrais mettre des ecouteurs de facon a obtenir les information se trouvant dans une combobox et un jradiobutton. on m'a deja dit de che rechercher un mot dans un fichier texte [ par mourad183 ] slt tlmje veux savoir comment rechercher une chaine de caracteres dans un fichier textemci d'avance :) Problème de division réelle (et oui...) [ par playmo420 ] Bien l'bonjour.Bon, voil&#224; mon probl&#232;me. J'ai un double et deux int, je veux mettre le r&#233;sultat de la division de mes 2 int (/) dans le JTable Rempli depuis une base de donnees [ par hlimaiem ] Limaiem heykel,bonjour, voila sincerement je bloque maintenat depuis 2 jours.Mon probleme se pose la : Je veux afficher dans une JTable le resultat d' Limiter un nombre de caractere dans un jTextArea [ par Dezouille ] Bonjour,je voudrais savoir si il &#233;tait possible de limiter un nombre de caractere dans un jTextArea. Si oui comment faire?Merci de vos r&#233;pon NOMBRE DE JOURS ENTRE 2 DATES [ par casporov ] SALUTT TOUS,EST CE QUE C'EST POSSIBLE D'AVOIR UN CODE  PERMETTANT DE SAVOIR LE NOMBRE DE JOURS ENTRE DEUX DATES.J'AI TROUVE SUR CE SITE UN CODE PERMME


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,310 sec (4)

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