Déterminer si un nombre est un multiple de dix ou au sein d'un ensemble de plages

J'ai un peu de boucles que j'ai besoin dans mon programme. Je peux écrire le pseudo-code, mais je ne suis pas entièrement sûr de savoir comment les écrire logiquement.

J'ai besoin d' -

if (num is a multiple of 10) { do this }

if (num is within 11-20, 31-40, 51-60, 71-80, 91-100) { do this }
else { do this } //this part is for 1-10, 21-30, 41-50, 61-70, 81-90

C'est un des serpents et des échelles jeu de plateau, si elle fait plus de sens pour ma question.

J'imagine que la première instruction si je vais avoir besoin d'utiliser le module, serait if (num == 100%10) correct?

La deuxième, je n'ai aucune idée. Je peux l'écrire comme if (num > 10 && num is < 21 || etc) mais il y a quelque chose de plus intelligent que cela.

  • Généralement, la longueur de code de qualité est proportionnelle à la longueur de l'anglais décrivant ce qu'il fait. Ainsi, lorsque votre "cahier des charges", explique 11-20, 31-40, 51-60, 71-80, 91-100, vous pouvez vous attendre de votre code de mention de ces numéros. Si ces chiffres proviennent de quelque part ou ont été générés par une raison quelconque, voir si vous pouvez vous le code de la raison plutôt que par le nombre.
  • Merci pour cela, je n'ai pas entendu de cette philosophie avant. J'ai à plusieurs reprises tombé dans le processus de pensée de "l'Homme, je pourrais faire beaucoup plus efficace et beaucoup plus petit." et je suppose que mon code est mauvais. Peut-être que je suis actualisation façon importante la lisibilité de l'est. Je pense qu'il y a un équilibre que je vais avoir à travailler.
  • Le compilateur ne se soucie pas un peu le degré de lisibilité de votre code; de compiler en une fraction de seconde. Mais pour les humains lecture de votre code, les choix que vous faites peut l'amener à être compris dans les secondes, les minutes, les heures, ou jamais. Cela impose un coût; les gens sont payés pour lire et comprendre le code, alors assurez-il facile pour eux. Toujours écrire le code de production pour maximiser la lisibilité, et n'oubliez pas que la concision n'est pas nécessairement de rendre le code plus performant.
  • Les titres sur vos deux autres questions sont vraiment bons titres; ils décrivent précisément ce que la question est à propos techniquement. J'ai édité parce que c'est vague, et plus sur vous que le codage problème.
  • Je ne vois pas pourquoi, dans un jeu de serpents et échelles, il ne serait jamais nécessaire pour découvrir cette information. Pourriez-vous élaborer sur la façon dont ce code est susceptible d'être utilisé? Je demanderai seulement parce qu'il ne me frappe pas comme une conception orientée objet et il pourrait y avoir une meilleure façon.
  • votre point est extrêmement valable. Moi aussi, je vois des gens écrire "intelligent" de code, inconscient du fait que la seule personne qui pourrait se soucient de leur intelligence (la prochaine personne qui lit le code) vont détester pour ça, et avec pas visible avantage de performance. Vous fait pleurer.
  • Dans ces situations, j'ai parfois laisser l'original, de l'onu-code optimisé, mais en commentaire. Je pense qu'il aide le lecteur à comprendre ce qui se passe.
  • J'ai TRÈS RAREMENT fait de même, mais seulement pour la performance des sections critiques. Le plus serré de la boucle qui est appelé 100M fois qualifie - si l'instruction dans un jeu de serpents et échelles de ne pas. Où tracer la ligne de démarcation entre eux, c'est un choix personnel.
  • Je déteste dire ça, mais en avoir fait assez, entreprise de travail, avec des débutants de l'écriture de code réel, je dois vous recommandons de brute forcer. Parce qu'alors, le nouveau gars vont comprendre et ne pas le casser. triste mais vrai - dans certains cas, il est intelligent pour être muet.
  • C'est un décent question, et je ne veux pas prendre quelque chose loin de l'affiche, mais cela ne mérite pas plus de 500 points. C'est de cette façon nous nous retrouvons avec quelques le non-sens que nous faisons avec les personnes avec des milliers de points figurant à être responsables. (N'hésitez pas à déplacer ce commentaire si elle appartient d'ailleurs.)
  • et où le tracé de la ligne de Serpents et Échelles est de la plus haute importance >;-)
  • Il vous indique la direction à la place suivante. 1-10 aller de gauche à droite le long du bas de la carte. 11 est au-dessus de 10 et de 11 à 20 aller de droite à gauche le long de la deuxième ligne, et ainsi de suite. Si l'OP est d'essayer de déterminer s'il faut déplacer le compteur vers le haut (si n est un multiple de 10), à droite (si n est dans 1-9, 21-29, etc) ou à gauche (si n est dans 11-19, 31-39, etc).

InformationsquelleAutor user3419168 | 2014-04-27