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
-
Démarrer
-
Créez une instance de la classe Scanner.
-
Déclarez une variable.
-
Demander à l'utilisateur d'initialiser la variable.
-
Appelez une méthode pour vérifier si le nombre est parfait ou non.
-
Déclarez une variable pour stocker la somme des diviseurs.
-
Initialiser la somme à 1.
-
Utilisez une boucle for pour trouver les diviseurs du nombre saisi.
-
Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.
-
Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, imprimez-le comme un nombre parfait.
-
Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, imprimez-le comme un nombre non parfait.
-
Affichez le résultat.
-
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
-
Démarrer
-
Créez une instance de la classe Scanner.
-
Déclarez une variable.
-
Demander à l'utilisateur d'initialiser la variable.
-
Appelez une méthode pour vérifier si le nombre est parfait ou non.
-
Déclarez une variable pour stocker la somme des diviseurs et une autre variable de boucle.
-
Initialisez la somme à 0 et la variable de boucle à 1.
-
Utilisez une boucle while pour trouver les diviseurs du nombre saisi.
-
Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.
-
Incrémentez la variable de boucle après chaque itération.
-
Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, imprimez-le comme un nombre parfait.
-
Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, imprimez-le comme un nombre non parfait.
-
Affichez le résultat.
-
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
-
Démarrer
-
Créez une instance de la classe Scanner.
-
Déclarez la plage.
-
Demandez à l'utilisateur d'initialiser la plage.
-
Utilisez une boucle for pour itérer sur les éléments de cette plage.
-
Appelez une méthode pour vérifier si le nombre est parfait ou non.
-
Déclarez une variable pour stocker la somme des diviseurs et une autre variable de boucle.
-
Initialisez la somme à 0 et la variable de boucle à 1.
-
Utilisez une boucle while pour trouver les diviseurs du nombre saisi.
-
Mettez à jour la somme chaque fois qu'un diviseur du nombre saisi rencontre.
-
Incrémentez la variable de boucle après chaque itération.
-
Si la somme de tous les diviseurs des nombres saisis est égale au nombre saisi, alors renvoie vrai.
-
Si la somme de tous les diviseurs des nombres saisis n'est pas égale au nombre saisi, alors renvoie faux.
-
Affichez les éléments parfaits.
-
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