pal702004 написа:Гост написа:Извинявам се за дублирането, но бях публикувал тази задача в грешна рубрика (домашни), а по-правилно е да бъде тук, тъй като е от Олимпиадата по математика 2022 (областен кръг) за 4 клас.
Докато Емил вадил книга от чантата си, от нея изпаднали няколко последователни листа. Броят на цифрите, с които са номерирани страниците им, е 2023. Кой е възможно най-големият номер на последната от изпадналите страници, ако те са по-малко от 1000?
Благодаря предварително, ако някой може да я реши.
"Кой е възможно най-големият номер на последната от изпадналите страници,
ако те са по-малко от 1000?" Така написано приемам, че
изпадналите страници са по-малко от 1000. Тогава съм склонен да мисля, че е изпаднал само един лист (2 страници) с номера:
$\underbrace{999\cdots 9}_\text{1011 девятки}$
$ 1\underbrace{000\cdots 0}_\text{1011 нули}$
Бая дебела книга! (за дебели глави)
Ако все пак са имали предвид, че
страниците на книгата (а не изпадналите) са по-малко от 1000, тогава.
Да обознчим с $a$ номера на първата от изпадналите страници, а с $b$ - номера на последната. (те са с различна четност). Очевидно $b$ е трицифрено, защото $9\cdot 1 +90\cdot 2<2023$
$a$ не може да е трицифрено, защото тогава за изписването ще са използвани $(b-a+1)\cdot 3$ цифри. Което няма как да е $2023$, най-малкото защото $b-a+1$ е четно, а и 2023 не се дели на 3.
Да пробваме с двуцифрено $a$
Използвани са $(100-a)\cdot 2$ цифри за страниците от $a$ до 99 включително. И $(b-99)\cdot 3$ за тези от 100 до $b$
$(100-a)\cdot 2+(b-99)\cdot 3=2023$
Или $b=\dfrac{2a+2120}{3}$
За да бъде $b$ цяло, трябва $a$ да дава остатък $2$ при делене на $3$. Освен това $b$ ще е четно, така че $a$ трябва да е нечетно.
Най-голямото двуцифрено число, което отговаря на тези изисквания е $a=95$. Откъдето $b=770$
Това е много интересна задача която да решим с програмка!
- Код: Избери целия код
year = 2023
start_page,end_page = 1,1
num_digits=1
while True:
if num_digits==year:
print("Yes! Last page:", end_page, "First page:", start_page, "Pages:", end_page-start_page)
if num_digits <= year:
end_page+=1
num_digits += len(str(end_page))
else:
num_digits -= len(str(start_page))
start_page+=1
if end_page>1000:
break
Резултата е:
Yes! Last page: 711 First page: 3 Pages: 708
Yes! Last page: 712 First page: 6 Pages: 706
Yes! Last page: 713 First page: 9 Pages: 704
Yes! Last page: 714 First page: 11 Pages: 703
Yes! Last page: 716 First page: 14 Pages: 702
Yes! Last page: 718 First page: 17 Pages: 701
Yes! Last page: 720 First page: 20 Pages: 700
Yes! Last page: 722 First page: 23 Pages: 699
Yes! Last page: 724 First page: 26 Pages: 698
Yes! Last page: 726 First page: 29 Pages: 697
Yes! Last page: 728 First page: 32 Pages: 696
Yes! Last page: 730 First page: 35 Pages: 695
Yes! Last page: 732 First page: 38 Pages: 694
Yes! Last page: 734 First page: 41 Pages: 693
Yes! Last page: 736 First page: 44 Pages: 692
Yes! Last page: 738 First page: 47 Pages: 691
Yes! Last page: 740 First page: 50 Pages: 690
Yes! Last page: 742 First page: 53 Pages: 689
Yes! Last page: 744 First page: 56 Pages: 688
Yes! Last page: 746 First page: 59 Pages: 687
Yes! Last page: 748 First page: 62 Pages: 686
Yes! Last page: 750 First page: 65 Pages: 685
Yes! Last page: 752 First page: 68 Pages: 684
Yes! Last page: 754 First page: 71 Pages: 683
Yes! Last page: 756 First page: 74 Pages: 682
Yes! Last page: 758 First page: 77 Pages: 681
Yes! Last page: 760 First page: 80 Pages: 680
Yes! Last page: 762 First page: 83 Pages: 679
Yes! Last page: 764 First page: 86 Pages: 678
Yes! Last page: 766 First page: 89 Pages: 677
Yes! Last page: 768 First page: 92 Pages: 676
Yes! Last page: 770 First page: 95 Pages: 675
Yes! Last page: 772 First page: 98 Pages: 674
Yes! Last page: 1000 First page: 327 Pages: 673
Резултата е 1000. Проверка:
In [68]: sum( [ len(str(page)) for page in range(327,1000+1)])
Out[68]: 2023