Question

Ce n'est pas fait ses devoirs, je suis juste en regardant à travers quelques questions dans un livre de mathématiques discrètes avant que je commence la science informatique la semaine prochaine.

Quoi qu'il en soit, l'une des questions me demande d'écrire un programme pour exécuter cet algorithme (ce qui explique). La partie que je suis coincé avec est de savoir comment prendre le 9 chiffres et « split » dans des nombres entiers simples, de sorte que les calculs peuvent être effectués sur chaque chiffre.

Je pensais que la division du nombre par 100000000 et puis en prenant la valeur entière de ce pour obtenir le premier chiffre, mais je ne sais pas comment obtenir les autres.

Si tel était en PHP ou quelque chose je pouvais utiliser explode (), mais je suppose que ce n'est pas le point ici: P

Était-ce utile?

La solution

Vous pouvez utiliser le mod (%) et l'opérateur de division (/).

N% 10 vous donnera le dernier chiffre. N / 10 (division entière) supprime le dernier chiffre.

Vous pouvez continuer jusqu'à ce que vous avez des chiffres plus.

Autres conseils

Une fois que vous avez divisé par 100000000 et pris la valeur entière, vous pouvez multiplier cette valeur par entier retour 100000000 et soustraire de l'ISBN. Cela prend effectivement juste à côté de la plus à gauche chiffres. Alors maintenant, répétez avec 10.000.000 -. Et ainsi de suite

Exemple avec 5 chiffres:

Start: 74325

74325/10000 and int = 7 (there's your first digit)
7 * 10000 = 70000
74325 - 70000 = 4325

4325/1000 and int = 4 (there's your next digit)
4 * 1000 = 4000
4325 - 4000 = 325

et ainsi de suite!

utilisez l'opération modulo:

a % 10 to get the last digit
a % 100 to get the last two digits. (a % 100) - (a % 10) to get the second last number
etc.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top