Java >> Tutoriel Java >  >> Java

Programme Java pour trouver le nombre parfait

Un nombre est appelé un nombre parfait si la somme de tous ses facteurs à l'exclusion du nombre lui-même est égale au nombre. Par exemple, considérons le nombre 6. Les facteurs de 6 sont 1,2,3 et 6. Maintenant, la somme de tous ses facteurs à l'exclusion du nombre lui-même est 1+2+3=6.

Ici, puisque le nombre d'origine est égal à la somme de tous ses facteurs à l'exclusion du nombre lui-même, il s'agit donc d'un nombre parfait.

Dans ce tutoriel, nous allons apprendre à trouver le nombre parfait en java. Mais avant d'aller de l'avant, si vous n'êtes pas familier avec le concept de boucles en Java, consultez l'article sur les boucles en Java

Entrée : Saisissez le numéro :34

Sortie : 34 n'est pas un nombre parfait

Programme Java pour trouver le nombre parfait

Dans ce programme, nous allons vérifier si le nombre est parfait ou non en utilisant une boucle for.

Algorithme

  1. Démarrer

  2. Créez une instance de la classe Scanner.

  3. Déclarez une variable.

  4. Demander à l'utilisateur d'initialiser la variable.

  5. Appelez une méthode pour vérifier si le nombre est parfait ou non.

  6. Déclarez une variable pour stocker la somme des diviseurs.

  7. Initialiser la somme à 1.

  8. Utilisez une boucle for pour trouver les diviseurs du nombre saisi.

  9. Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.

  10. Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, imprimez-le comme un nombre parfait.

  11. Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, imprimez-le comme un nombre non parfait.

  12. Affichez le résultat.

  13. Arrêter

Ci-dessous le code Java pour trouver le nombre parfait.

// Program to find the perfect number in Java 
import java.util.Scanner;
public class Main 
{  
   public static void main(String[] args) 
   {  
       //Take input from the user
       //Create instance of the Scanner class
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter the number: ");  
       int num = sc.nextInt();        
       if (checkPerfect(num)) 
        {  
               System.out.print(num+" is a perfect number ");  
        }
        else
        {
            System.out.println(num+" is not a perfect number "); 
        }
         
   }  
    static boolean checkPerfect(int num)
   {
    // To store sum of divisors
    int sum = 1;
 
    // Find all divisors and add them
    for (int i = 2; i * i <= num; i++)
    {
        if (num % i==0)
        {
            if(i * i != num)
                sum = sum + i + num / i;
            else
                sum = sum + i;
        }
    } 
        // If sum of divisors is equal to number
        // Then number is a perfect number
        if (sum == num && num != 1)
        return true;
 
       return false;
    } 
} 


Entrez le nombre :28
28 est un nombre parfait

Programme 2 :Programme Java pour trouver le nombre parfait

Dans ce programme, nous allons vérifier si le nombre est parfait ou non en utilisant une boucle while.

Algorithme

  1. Démarrer

  2. Créez une instance de la classe Scanner.

  3. Déclarez une variable.

  4. Demander à l'utilisateur d'initialiser la variable.

  5. Appelez une méthode pour vérifier si le nombre est parfait ou non.

  6. Déclarez une variable pour stocker la somme des diviseurs et une autre variable de boucle.

  7. Initialisez la somme à 0 et la variable de boucle à 1.

  8. Utilisez une boucle while pour trouver les diviseurs du nombre saisi.

  9. Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.

  10. Incrémentez la variable de boucle après chaque itération.

  11. Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, imprimez-le comme un nombre parfait.

  12. Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, imprimez-le comme un nombre non parfait.

  13. Affichez le résultat.

  14. Arrêter

Ci-dessous le code Java pour trouver le nombre parfait.

// Program to find the perfect number in Java 
import java.util.Scanner;
public class Main 
{  
   public static void main(String[] args) 
   {  
       //Take input from the user
       //Create instance of the Scanner class
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter the number: ");  
       int num = sc.nextInt();  
       checkPerfect(num);    //Call a method to check perfect
       
   }  
   //Checks and Prints whether perfect or not
   static void checkPerfect(int num)
   {
    // To store sum of divisors
    int sum = 0,i=1;
    while(i<num)
    {
        if(num % i == 0)
        {
            sum = sum + i;
        }
        i++;
    }
    if(sum == num)
    {
        System.out.println("The entered number "+num+" is a Perfect number");
    }
    else
    {
        System.out.println("The entered number "+num+" is not a Perfect number");
    }     
  } 
} 


Entrez le nombre :35
Le nombre saisi 35 n'est pas un nombre parfait

Programme 3 :Programme Java pour trouver le nombre parfait

Dans ce programme, nous trouverons les nombres parfaits dans une fourchette.

Algorithme

  1. Démarrer

  2. Créez une instance de la classe Scanner.

  3. Déclarez la plage.

  4. Demandez à l'utilisateur d'initialiser la plage.

  5. Utilisez une boucle for pour itérer sur les éléments de cette plage.

  6. Appelez une méthode pour vérifier si le nombre est parfait ou non.

  7. Déclarez une variable pour stocker la somme des diviseurs et une autre variable de boucle.

  8. Initialisez la somme à 0 et la variable de boucle à 1.

  9. Utilisez une boucle while pour trouver les diviseurs du nombre saisi.

  10. Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.

  11. Incrémentez la variable de boucle après chaque itération.

  12. Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, alors renvoie vrai.

  13. Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, alors renvoie faux.

  14. Affichez les éléments parfaits.

  15. Arrêter

Ci-dessous le code Java pour trouver le nombre parfait.

// Program to find the perfect number in Java 
import java.util.Scanner;
public class Main 
{  
   public static void main(String[] args) 
   {  
       //Take input from the user
       //Create instance of the Scanner class
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter the first number: ");  
       int num1 = sc.nextInt(); 
       System.out.println("Enter the second number: ");  
       int num2 = sc.nextInt(); 
       System.out.println("Perfect numbers within the given range are: ");  
       for(int i=num1;i<=num2;i++)
       {      
           if(checkPerfect(i))
           System.out.print(i+" ");
       }
   }       
   //Checks and Prints whether perfect or not
   static boolean checkPerfect(int num)
   {
    // To store sum of divisors
    int sum = 0,i=1;
    while(i<num)
    {
        if(num % i == 0)
        {
            sum = sum + i;
        }
        i++;
    }
    if(sum == num)
       return true;
       
    return false;    
  } 
} 


Entrez le premier nombre :2
Entrez le deuxième nombre :50
Les nombres parfaits dans la plage donnée sont :
6 28


Balise Java