Kod: Zaznacz cały
122333444455555...10101010101010101010...
Problem sprawia mi to, że liczby mają coraz większą ilość cyfr. Ktoś ma pomysł?
Kod: Zaznacz cały
122333444455555...10101010101010101010...
Chodzi oczywiście o \(\displaystyle{ n\cdot s(n) = n \left( \red{ \left\lfloor \log_{10} n \right\rfloor } + 1\right)}\).
\(\displaystyle{ b_n = \underbrace{nn\ldots n}_{2n\text{ cyfr}} = n \cdot \underbrace{\red{0101\ldots 01}}_{2n\text{ cyfr}} }\) wszak jeśli chcemy uzyskać np. \(\displaystyle{ 22}\), to mnożymy \(\displaystyle{ 22 \cdot 01}\) a nie razy dziesięć.JakimPL pisze: ↑26 kwie 2020, o 17:38Podobnie, dla \(\displaystyle{ 10 \leqslant n \leqslant 99}\) (gdzie \(\displaystyle{ s(n) = 2}\)):
\(\displaystyle{ b_n = \underbrace{nn\ldots n}_{2n\text{ cyfr}} = n \cdot \underbrace{1010\ldots 10}_{2n\text{ cyfr}} = n\frac{10^{2n} - 1}{99}=n\frac{10^{2n} - 1}{10^2 - 1}}\)
No właśnie, a \(\displaystyle{ s()}\) usuwa te dziesiątki z powrotem.JakimPL pisze: ↑26 kwie 2020, o 17:38Ogólnie:
\(\displaystyle{ b_n = n \frac{10^{s(b_n)} - 1}{10^{s(n)} - 1} = n\frac{10^{n\left(\left\lceil \log_{10} n \right\rceil + 1\right)} - 1}{10^{\left\lceil \log_{10} n \right\rceil + 1} - 1}}\)
Do określenia długości liczby wystarczy nam zsumować \(\displaystyle{ s(b_n)}\).
Twój wymaga wielu kroków, ale mój tylko kilku.vpprof pisze: ↑26 kwie 2020, o 22:11 kerajs
Dzięki, jednak szukam postaci zwartej, czyli bez sum. Bo jeśli pozwolimy sobie na sumy, to rozwiązanie jest oczywiste: zsumować od \(\displaystyle{ k=1}\) do \(\displaystyle{ k=n}\) liczbę cyfr \(\displaystyle{ k}\) pomnożoną przez \(\displaystyle{ k}\).\(\displaystyle{ \sum_{k=1}^{n} \left( \left\lfloor \log k \right\rfloor +1 \right) k}\)Oczywiste, ale wymagające wielu kroków.
Wiem, że liczenie od k=0 jest trochę sztuczne, skoro i tak daje składnik sumy równy zero , jednak wprowadziłem je specjalnie aby uniknąć dziwacznego sumowania \(\displaystyle{ \sum_{k=1}^{0} .......}\) dla \(\displaystyle{ n<10}\)
Touché!