Je voudrais mettre en place une fonction if, qui verra si la variable est divisible par 24, si c'est alors elle fait la fonction sinon pas, même logique cependant, je veux voir si la sortie est un nombre parfait, par exemple si nous faisons 24/24 qui obtiendra 1, c'est un nombre parfait. Si nous faisons 25/24, alors il obtiendra 1.041 qui n'est pas un nombre parfait, le prochain nombre parfait viendra quand il atteindra 48 qui sera 48/24 qui obtiendra 2 c'est un nombre parfait.
Utilisez l'opérateur Modulus :
if (number % 24 == 0)
{
...
}
L'opérateur% calcule le reste après avoir divisé son premier opérande par son second. Tous les types numériques ont des opérateurs restants prédéfinis.
À peu près, il renvoie le reste d'une division: 25% 4 = 1 car 25 correspond à 24 une fois, et il vous en reste 1. Lorsque le nombre s'ajuste parfaitement, vous obtenez un 0 retourné, et dans votre exemple, c'est ainsi que vous savez si un nombre est divisible par 24, sinon la valeur retournée sera supérieure à 0.
Que diriez-vous d'utiliser l'opérateur Modulus
if (mynumber % 24 == 0)
{
//mynumber is a Perfect Number
}
else
{
//mynumber is not a Perfect Number
}
Ce qu'il fait
Contrairement à /
qui donne le quotient, l'opérateur Module (%
) obtient le reste de la division effectuée sur les opérandes. Le reste est nul pour le nombre parfait et le reste est supérieur à zéro pour le nombre non parfait.