20070623, 20:27  #1 
May 2004
New York City
3×1,409 Posts 
Find the Value
Consider the set of integers from 0 to n represented in decimal
with no lead zeros. Find the value of n > 1 such that the total number of zeros in the representations equals n. 
20070626, 22:44  #2 
Cranksta Rap Ayatollah
Jul 2003
641 Posts 
so here's what I do know..
if n = 999, then we have 99 0s from the ones digit and 90 0s from the tens digit if n = 9999, we have 999 0s from the ones digit, 990 0s from the tens digit and 900 0s from the hundreds digit if then there are from the ones digit, from the tens digit, and so on, thus if , then we have accumulated 0s, this equals now, somewhere in between 10^111 and 10^121, we have more 0s than n, in fact, we have 88,888,888,889 more 0s, so, assuming that the difference is monotone increasing (I believe it is, although I haven't checked formally) it has to happen for some 11 digit number (or it doesn't happen at all) 
20070627, 17:51  #3 
May 2004
New York City
1083_{16} Posts 
Please doublecheck that you don't mean some 12digit number,
since the transition point is > 10^11  1. And don't forget that 0 is part of the set, so you might need to add 1 to the number of zeros. 
20070709, 17:49  #4 
May 2004
New York City
3×1,409 Posts 
An update:
Upon analysis, the number of zeros in the representations of integers from 0 up to 99,999,999,999 is 98,888,888,890. Iterating from that point gives a match at n = 100,559,404,365. [Would someone doublecheck this value?] 
20070710, 00:11  #5 
Feb 2007
2^{4}·3^{3} Posts 

20070710, 00:27  #6  
Feb 2007
2^{4}·3^{3} Posts 
Quote:
Code:
gp > ^Z Suspended (mfh@lx08 ~/NumberTheory/PARI) php <?=($a=count_chars(join(range(0,99))))? $a[48]:0," ",($a=count_chars(join(range(0,999))))? $a[48]:0," ",($a=count_chars(join(range(0,9999))))? $a[48]:0," ";^D 10 190 2890 (mfh@lx08 ~/NumberTheory/PARI) fg gp gp > calc0mfh(k)=k*10^(k1)(10^k1)/9+1 time = 0 ms. gp > calc0mfh(3) time = 0 ms. %216 = 190 gp > calc0mfh(4) time = 0 ms. %217 = 2890 gp > number of '0's in {0,1,...,10^(k+1)1} = k*10^(k1)(10^k1)/9+1 I confirm your value for k=11 which is correct, i.e. seems to include the +1 already. If your "iterations"(?) are ok, the result should be correct. Last fiddled with by m_f_h on 20070710 at 01:26 

20070710, 04:08  #7 
Feb 2007
2^{4}×3^{3} Posts 
it seems ok  I believe the following code is correct:
Code:
cnt0(n) = { local( cnt=0, m=divrem(n,10)); if( n<10, return(1)); /* Let n = 10 m[1] + m[2]. Count 0's in m[1] and multiply this by m[2]+1: This * is the number of 0's in { 10 m[1],..., n } minus 1 (trailing 0 of 10 m[1]). */ n=m; while( n=divrem(n[1],10), cnt += !n[2] ); cnt *= (m[2] + 1); /* now add the number of 0's occuring in last position in {0,...,10 m[1]} * (this is equal to 1+m[1]) plus 10 * the number of 0's in { 1,...,m[1]1 }. */ cnt+1+m[1]+10*(cnt0( m[1]1 )1) } 
20070710, 20:32  #8 
1976 Toyota Corona years forever!
"Wayne"
Nov 2006
Saskatchewan, Canada
5^{2}·173 Posts 
Without a lot of deep thought I surmised that there would be an equal distribution of digits in counting up from 1 ... but I discovered that, while that is the case it is not until 'n' gets VERY LARGE
For example: we get the correct number of digits of 1 at only n=199,981 and many more times as n increases. However, digits 2  9 match much later ... 2 at 242,463,827; 3 at 371,599,983 (I haven't double checked these, though) 
20070710, 22:13  #9  
Feb 2007
2^{4}×3^{3} Posts 
Quote:
which has to do with the fact that the range [1,2) is "relatively" larger than [2,3) etc. (I don't remember well how exactly the argument was going  maybe w.r.t. scientific notation (x=m*10^e) or logarithmic scale or....) 

20070711, 04:12  #10 
Jun 2003
3^{2}·5·103 Posts 
Perhaps you're thinking about Benford's Law

20070711, 17:56  #11 
1976 Toyota Corona years forever!
"Wayne"
Nov 2006
Saskatchewan, Canada
5^{2}·173 Posts 
When I wrote a simple program to simply go through all values of n starting from 1 and counting the occurence of each digit, whenever I got to a n of 99...99 the total number of each digit from 1 to 9 was the same with 0 consistently trailing ... but gaining.
n=9: 0=0; 19=1 n=99: 0=9; 19=20 n=999: 0=189; 19=300 n=9999: 0=2889; 19=4000 n=99999: 0=38889; 19=50000 .... and the pattern continues. I think I just described in layman terms what the true mathemiticians described earlier in formulae. 
Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Where can I find a Reverse and Add program? I can't find any!  Stargate38  Programming  18  20150710 06:08 
Help Find a Sequence?  davar55  Math  2  20100219 16:54 
Find the Value  davar55  Puzzles  7  20090702 19:46 
New way to Find (X^Y) % M  maheshexp  Miscellaneous Math  29  20040830 15:59 
New way to Find (X^Y) % M  maheshexp  Software  2  20040508 03:16 