kuala_lumpur 09.10.02, 17:15 Wypisuję obok siebie kolejne liczby naturalne. Łączę je ze sobą i dostaję nieskończonie długą liczbę:1234567891011121314151617181920.... Jak mogę się dowiedzieć jaka cyfra pojawi się na n-tym miejscu tej liczby? Odpowiedz Link Zgłoś Obserwuj wątek Podgląd Opublikuj
marchewa4 Re: liczby_naturalne 10.10.02, 10:19 kuala_lumpur napisał: > Wypisuję obok siebie kolejne liczby naturalne. Łączę je ze sobą i dostaję > nieskończonie długą liczbę:1234567891011121314151617181920.... Jak mogę się > dowiedzieć jaka cyfra pojawi się na n-tym miejscu tej liczby? Oznaczmy przez S(i) liczbe i*10^i-(10^i-1)/9 + 1 dla i>=0. (S(i): 0, 10, 190, 2890, 38890, 488890, ...) Dla podanego n (pozycje numerujemy od 1; n>=1) szukamy najmniejszego i, dla ktorego n < S(i). Oznaczmy znalezione i przez I. Niech x = n - S(I-1). Oznaczmy przez R reszte z dzielenia x przez I. Z kolei przez y oznaczmy reszte z dzielenia x przez I*10^(I-R). Niech z = [y/I*10^(I-R-1)]. Jesli R = 0 szukana cyfra jest z+1, w przeciwnym przypadku z. Pozdrawiam M. PS ^ oznacza potege; [x] oznacza czesc calkowita liczby x Odpowiedz Link Zgłoś
marchewa4 Re: liczby_naturalne 10.10.02, 10:50 Troche nieszczesliwie oznaczylem jedna zmienna przez I, ktore w czcionce proporcjonalnej jest bardzo niewyrazne we wzorach. Braklo mi tez jednego nawiasu w mianowniku ulamka we wzorze na z. Zmieniam zatem nieco oznaczenia i poprawiam: Oznaczmy przez S(i) liczbe i*10^i-(10^i-1)/9 + 1 dla i>=0. (S(i): 0, 10, 190, 2890, 38890, 488890, ...) Dla podanego n (pozycje numerujemy od 1; n>=1) szukamy najmniejszego i, dla ktorego n < S(i). Oznaczmy znalezione i przez F. Niech x = n - S(F-1). Oznaczmy przez R reszte z dzielenia x przez F. Z kolei przez y oznaczmy reszte z dzielenia x przez F * 10^(F-R). Niech z = [ y / (F * 10^(F-R-1))]. Jesli R = 0 szukana cyfra jest z+1, w przeciwnym przypadku z. ^ oznacza potege; [x] oznacza czesc calkowita liczby x Odpowiedz Link Zgłoś