Maison >Java >javaDidacticiel >Numéro de Smith en Java
En Java, nous avons un type de fonctionnalité différent ; le numéro Smith est le seul type de fonctionnalité fourni à l'utilisateur. Fondamentalement, le numéro de Smith n'est rien d'autre que le nombre composé (dont la base est 10 dans le système numérique) dont l'addition de tous les chiffres est égale à l'addition de tous les chiffres de son facteur premier (sauf 1), c'est ce qu'on appelle le numéro de Smith. nombre. Un autre nom pour le numéro Smith est le numéro de blague. Par définition, on peut dire que tous les nombres premiers sont naturellement exclus s’ils satisfont à la condition. Normalement, le nombre de Smith est un sous-domaine très basique du système numérique utilisé en mathématiques selon les besoins de l'utilisateur et certaines de ses exigences de l'énoncé du problème.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Voyons maintenant quelle est la logique derrière le numéro Smith comme suit.
La logique du numéro Smith est très simple, considérons le nombre suivant alors nous comprendrons facilement la logique comme suit.
Exemple : Supposons que nous devions vérifier si le numéro donné est un numéro Smith ou non.
Le numéro donné est : 95
Tout d'abord, nous devons découvrir que le facteur premier de 95 est 19 et 5 (5, 19)
Trouvez maintenant la somme des chiffres qui est 9 + 5 = 14
La somme du facteur premier est 5 + 1 + 9 = 15
Comparez maintenant les deux résultats, voir ici 14 n'est pas égal à 15. Le nombre donné n'est donc pas un nombre premier.
Considérons un autre nombre comme suit.
Numéro donné : 58
Trouvez d'abord le facteur premier de 58 = 2 et 29
La somme des facteurs premiers est = 2 + 2 +9 = 13
La somme des chiffres du nombre donné est = 5 + 8 = 13
Maintenant, comparez les deux résultats, ici les deux résultats sont identiques ou nous pouvons dire que c'est égal. On peut donc dire que le numéro donné est le numéro Smith.
C'est donc la logique très simple derrière le nombre de Smith, il nous suffit de comparer la somme factorielle première et la somme des chiffres. Si les deux sommes sont égales, alors le nombre donné est le numéro de Smith, sinon le nombre n'est pas un numéro de Smith.
Voyons maintenant comment vérifier si un numéro donné est Smith ou non en Java comme suit.
Dans le point ci-dessus, nous avons déjà discuté de différents exemples de numéros Smith. Voyons maintenant les différentes étapes pour trouver le numéro Smith comme suit.
1. Nous devons d’abord initialiser ou lire les numéros de l’utilisateur.
2. Après cela, nous devons trouver la somme des chiffres du nombre donné.
3. Ensuite, nous devons trouver le facteur premier d'un nombre donné.
4. Calculez maintenant la somme des chiffres des facteurs premiers.
5. Comparez maintenant la somme des chiffres d'un nombre donné et la somme des chiffres des facteurs premiers.
a. Si les deux sommes sont égales, alors nous pouvons dire que le nombre donné est le nombre de Smith.
b. Sinon, on peut considérer qu'un nombre donné n'est pas un nombre de Smith car les sommes sont différentes.
Les étapes mentionnées ci-dessus sont donc utiles pour implémenter des programmes de nombres Smith en Java.
Voyons maintenant les différents exemples de nombres Smith en Java pour une meilleure compréhension comme suit.
Code :
import java.util.*; public class Smith_Num { static int F_Sum_P_Fact(int no) { int j=2, add=0; while(no>1) { if(no%j==0) { add=add+F_S_Digit(j); no=no/j; } else { do { j++; } while(!isPrime(j)); } } return add; } static int F_S_Digit(int no) { int sum=0; while(no>0) { sum=sum+no%10; no=no/10; } return sum; } static boolean isPrime(int j) { boolean b=true; int d=2; while(d<Math.sqrt(j)) { if(j%d==0) { b=false; } d++; } return b; } public static void main(String args[]) { Scanner s_c = new Scanner(System.in); System.out.print("Enter a number: "); int no=s_c.nextInt(); int x = F_S_Digit(no); int y = F_Sum_P_Fact(no); System.out.println("addition of digit = "+x); System.out.println("addition of prime factors digits is = "+y); if(x==y) System.out.print("The user enterd number is smith number."); else System. out.print("The user entered number is not smith number."); } }
Explication
Dans le programme ci-dessus, nous essayons d'implémenter le programme Smith Number en Java. Ici, nous avons d'abord créé la fonction de somme des chiffres des facteurs premiers ; de même, nous avons également créé la fonction pour trouver la somme des chiffres pour le nombre donné, comme indiqué dans le programme ci-dessus. Après cela, nous avons créé la fonction pour vérifier si le nombre donné est un nombre premier ou non en utilisant des fonctions booléennes. Ensuite, nous écrivons la fonction principale, à l'intérieur de la fonction principale, nous acceptons le numéro de l'utilisateur et appelons toutes les fonctions que nous avons déjà créées et comparons les deux sommes. Si la somme est égale, imprimez le nombre donné comme numéro de Smith et si la somme n'est pas égale, imprimez le nombre donné comme numéro de Smith. Nous illustrons le résultat final du programme ci-dessus en utilisant la capture d'écran suivante comme suit.
Voyons un autre exemple comme suit.
Code :
import java.util.*; public class Smith_Num_2 { static List<Integer> F_P_Fact(int no) { List<Integer> output = new ArrayList<>(); for (int j = 2; no % j == 0; no = no/j) output.add(j); for (int j = 3; j* j <= no; j=j+2) { while (no % j == 0) { output.add(j); no = no/j; } } if (no != 1) output.add(no); return output; } static int S_Digit(int no) { int s= 0; while (no > 0) { s =s+(no % 10); no = no/10; } return s; } public static void main(String args[]) { for (int no = 1; no < 5000; no++) { List<Integer> Fact = F_P_Fact(no); if (Fact.size() > 1) { int s = S_Digit(no); for (int fa : Fact) s =s-S_Digit(fa); if (s == 0) System.out.println(no); } } } }
Explication
Dans l'exemple ci-dessus, nous essayons de trouver le numéro All Smith jusqu'à 5000, comme indiqué. Nous illustrons le résultat final du programme ci-dessus en utilisant la capture d'écran suivante comme suit.
Nous espérons qu'à partir de cet article, vous apprendrez le nombre de Smith en Java. À partir de l'article ci-dessus, nous avons appris la logique de base du nombre de Smith et nous voyons également différents exemples de nombre de Smith. À partir de cet article, nous avons appris comment et quand utiliser le nombre de Smith en Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!