Comment trouver le nombre de valeurs dans une plage donnée divisible par une valeur donnée?

J'ai trois nombres x, y , z.

Pour une gamme entre les nombres x et y.

Comment puis-je trouver le nombre total dont % avec z est 0 c'est à dire combien de nombres entre x et y sont divisible par z ?

  • Si c'est un devoirs, peut-être le bon vieux ennuyeux et lent "essayez de chacun et compter" on va le faire.
  • non, pas des devoirs à faire.... j'en ai besoin pour certains d'optimisation.
  • Si ce n'est pas des devoirs à faire, retirez le C et le C++ tags, ajouter un algorithme tag et peut-être faire un peu de réflexion (astuce: trouver le premier un en O(1), trouver le dernier en O(1), de trouver le nombre de tous les autres en O(1))
  • |x - y| / z = |10 - 2| / 3 ou |100 - 10| / 5 ou ...?
  • ça va pas le faire. Il y a trois nombres pairs dans [1..5], mais seulement deux dans [2..6]
  • +1 parce que je veux Hobbs solution examines et outscore la mienne si elle est correcte 😉 et parce que cette question est assez générale pour mériter une solution optimale

InformationsquelleAutor Dexter | 2013-05-05