Maison  >  Article  >  Java  >  Numéro spécial en Java

Numéro spécial en Java

WBOY
WBOYoriginal
2024-08-30 16:26:46323parcourir

Les nombres spéciaux en Java sont ceux dont la somme des factorielles des chiffres est égale au nombre lui-même. Il peut s'agir d'un nombre à N chiffres. Le programme doit d'abord diviser le nombre en chiffres correspondants et calculer leurs factorielles. Une fois cela fait, la somme des factorielles individuelles calculées doit être additionnée. Si la somme correspond au numéro d'origine, alors le numéro est appelé un numéro spécial. Lorsque le programme est en cours d'exécution, les chiffres et leurs factorielles sont calculés à l'aide d'un concept de module et de Math.fact(), qui calcule la factorielle de chaque nombre. Dans cet article, nous allons vérifier jusqu'à 4 chiffres qui sont des numéros spéciaux ou non.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Mathématiquement, nous devons montrer comment la somme des factorielles des chiffres individuels d'un nombre correspond au nombre d'origine. Un exemple de nombre est 145.

145=1 ! +4 ! +5 !

Dans cet article, nous allons également les voir fonctionner ainsi que d'autres numéros spéciaux similaires, qui peuvent être des nombres à 2 ou 3 chiffres. Java dispose de nombreuses plates-formes sur lesquelles ce programme peut être exécuté. Dans cet article, nous allons vérifier le fonctionnement du programme sur la plateforme BlueJ. Il existe quatre numéros spéciaux qui nous sont connus. 1,2, 145 et 40585.

Exemples de numéro spécial en Java

Dans ce programme, nous allons saisir un numéro et vérifier si le numéro est spécial ou non. Nous vérifions indirectement la somme des factorielles des chiffres comme égale au nombre d'origine.

Exemple n°1

Code :

//Java program to check if a number
// is a special number
import java.util.*;
import java.io.*;
class Special
{
// function to calculate the factorial
// of any number  using while loop
static int factorial(int n)
{
int fact = 1;
while (n != 0) {
fact = fact * n;
n--;
}
return fact;
}
// function to Check if number is Special
static boolean isSpecial(int n)
{
int sum = 0;
int t = n;
while (t != 0) {
// calculate factorial of last digit
// of temp and add it to sum
sum += factorial(t % 10);
// replace value of t by t/10
t = t / 10;
}
// Check if number is  Special
return (sum == n);
}
// Driver code
public static void main(String[] args)throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number to check if it is Special");
int n = Integer.parseInt(br.readLine());
if (isSpecial(n))
System.out.println("YES- The number is a special number");
else
System.out.println("NO- The number is not a special number");
}
}

Maintenant, nous allons vérifier 145 comme numéro et 40585 comme autre numéro. A l'aide de ce morceau de code, nous allons vérifier les nombres 145, 1 et 2. Avec l'autre programme, nous allons voir le nombre 40585 et utiliser une méthodologie différente pour une boucle qui peut être installée dans le programme. Nous allons maintenant voir différentes sorties pour le programme présenté ci-dessus. Les sorties sont produites pour les numéros 1, 2, 25 et 145.

Sortie :

Numéro spécial en Java

Numéro spécial en Java

Numéro spécial en Java

Numéro spécial en Java

Exemple n°2

Dans cet exemple de codage, nous allons voir comment le programme peut être réalisé en utilisant la boucle for. Le programme précédent utilisait une boucle while pour calculer la factorielle du nombre. Nous verrons ci-dessous l'exemple de codage sur la façon de calculer la factorielle à l'aide d'une boucle for.

Code :

//Java program to check if a number
// is a special number
import java.util.*;
import java.io.*;
class Special
{
// function to calculate the factorial
// of any number using for loop
static int factorial(int n)
{
int fact = 1;
for (int i=1;i<=n;i++)
{
fact = fact * i;
;
}
return fact;
}
// function to Check if number is Special
static boolean isSpecial(int n)
{
int sum = 0;
int t = n;
while (t != 0) {
// calculate factorial of last digit
// of temp and add it to sum
sum += factorial(t % 10);
// replace value of t by t/10
t = t / 10;
}
// Check if number is  Special
return (sum == n);
}
// Driver code
public static void main(String[] args)throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number to check if it is Special");
int n = Integer.parseInt(br.readLine());
if (isSpecial(n))
System.out.println("YES- The number is a special number");
else
System.out.println("NO- The number is not a special number");
}
}

Dans ce nombre 145 et 40585, les deux Numéros Spéciaux satisfont à la condition préalable de ne faire qu'un. Par conséquent, nous constatons que les nombres sont tous deux des nombres spéciaux qui ont été affichés dans la sortie.

Sortie :

Numéro spécial en Java

Numéro spécial en Java

Les codes de l'article sont très utiles, et ils peuvent être utilisés pour voir facilement la déclaration imprimée par quelqu'un sur la plateforme BlueJ. Puisque le concept factoriel entre en scène, nous pouvons avoir un concept lié à un factoriel numérique. Le dernier chiffre d'une somme de factorielles des N premiers termes où N>5 est toujours 3 car le dernier chiffre est toujours zéro après cela. De plus, chaque fois que nous considérons des factorielles de nombres, elles ne sont généralement pas utilisées dans le cas de décimales ou de fractions d’un nombre. Nous devons donc utiliser uniquement un entier positif pour utiliser nos nombres dans le programme factoriel. Si une fraction entre dans le programme, le programme se terminera. On peut également calculer le nombre de dizaines dans certaines grandes factorielles par un calcul. Nous verrons cela dans un autre article.

Conclusion

Dans cet article, nous avons vu principalement quatre nombres : les nombres spéciaux ou les nombres de Krishnamurthy en général. Ainsi, nous voyons la structure de base et le comportement des nombres par rapport à leurs factorielles. On vérifie que les nombres 1,2,4 et 40585 sont des nombres spéciaux qui ont la même caractéristique entre eux.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Racine carrée en JavaArticle suivant:Racine carrée en Java