Compter le nombre d'occurrences de 0 des entiers de 1 à N

Comment saurez-vous efficacement compter le nombre d'occurrences de 0 dans la représentation décimale des entiers de 1 à N?

e.g. The number of 0's from 1 to 105 is 16. How?

10,20,30,40,50,60,70,80,90,100,101,102,103,104,105    

Compter le nombre de ' 0 ' & vous le trouverez à 16.

Évidemment, une approche par force brute ne sera pas apprécié. Vous devez venir avec une approche qui ne dépend pas de "Combien de nombres sont comprises entre 1 à N".
Peut-on juste faire en voyant une sorte de modèle?

Ne peut-on étendre le la logique compilés ici de travailler pour ce problème?

Je pensais que vous n'étiez pas censés fuite de ces questions après une interview 😉
C'est clairement proportionnelle à n^2, si juste qu'il ne la force brute jusqu'à 10k 100k pour en déduire une constante et vous avez terminé.
il est plus probable dans l'ordre de N log N je dirais.
J'aime ces sortes de questions. Chance d'une application pratique de l'algorithme à l'extérieur de la salle de classe 0.00000000000000000000000000001%.
Pour faire une distribution de chiffres dans une série, il aide à les compter. en.wikipedia.org/wiki/Benford's_law

OriginalL'auteur Green goblin | 2012-08-09