Liczenie stron gdy podamy cyfry.
Andrzej: Witam,
Mam otóż napisać sobie program, który np jak podamy mu 13 to wyświetli nam 11.
Tłumaczę. Mamy podać ilość cyfr użytych do zapisania stron. A na wyjściu ile tych stron jest.
Samo w sobie może trudne nie jest ale już gubię się.
Jeśli chodzi o ten przykład to na wejsciu jest: 13
strony od 1 do 9 uzywaja po jednej cyfrze zatem jest tutaj 9 cyfr
strony od 10 do 11 mają po 2 cyfry zatem 9 + 4 = 13.
Wymyśliłem algorytm
Strony = ((x − 9) / 2 + (9))
gdzie x = ilością cyfr użytych do zapisu algorytm dziala dla stron mniejszych od 99 i cyfr
mniejszych od 189.
Idąc dalej tym algorytmem doszedłem do momentu gdzie mam wpisane 398 889 cyfr i wyswietla mi 99
999 stron.
Pytacie co w tym nie tak i po co pisze tutaj? Otóż nie pamiętam już czy to ja źle coś liczę czy
mam coś z głową nie tak.
99 999 stron = ((90*2) + 9) + (900 * 3) + (9 000*4) + (90 000*5) = 189 + 2700 + 36 000 + 450
000 = 488 889 cyfr. − Czy to jest błędne?
90*2 − bo jest 90 liczb w dziesiatkach a każdy z nich ma 2 cyfry
900*3 − bo jest 900 liczb w setkach a kazda z nich ma 3 cyfry
9000*4 − bo jest 9000 liczb w tysiacach a kazda z nich po 4 cyfry
90 000*5 − bo jest 90 000 liczb w dziesiatkach tysiecy a kazda z nich ma 5 cyfr
Zatem troche sie to rozni od mojego algorytmu, ktory wyzej napisalem dla cyfry 398 889...
Pomocy.
Ewentualnie jak ktos wie jak napisac cos takiego tak by dzialalo dla liczb < 264−1 to proszę!
14 maj 02:19
Ditka:
x−ilość cyfr (wejście)
str−ilość stron (wyjście)
n−1
x= ∑ 9*10k*(k+1) + "reszta"
k=0
↑ ↑
ilość cyfr użytych ilość cyfr użytych do ponumerowania stron
do ponumerowania o numerach (n+1)− cyfrowych (nie wszystkie (n+1)−cyfrowe
stron o numerach od 1 liczby są wykorzystane)
do n−cyfrowych włącznie
(wszystkie n−cyfrowe
liczby wykorzystane)
przykładowy algorytm:
n=−1
do
n=n+1
y=x
x=x−9*10n*(n+1)
while x>0
po wyjściu z pętli:
y jest "resztą"
n+1 mówi ilu cyfrowe są liczby z "reszty"
str=y/(n+1) − ilość stron w "reszcie"
i=0;i=i+1;n−1
str=str+9*10i
end i
po tej pętli na str jest ilość wszystkich stron
Mam nadzieję,że jest dobrze i moja symbolika jest zrozumiała.
15 maj 11:58