begin process at 2008 08 20 14:20:37
1 228 884 membres
250 nouveaux aujourd'hui
14 258 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECHERCHER LES DIVISEURS D'UN NOMBRE


Information sur la source

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 : 4 277

Note :
Aucune note

Commentaire sur cette source (0)
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
    Aucun commentaire pour le moment.

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS