# Задачи - УПП, Седмица 6, 06.11.2025 'define expected-reading 10 min 'define created 01 November 2025 'define edited 05 November 2025 [$pagenav] GitHub Classroom: [url https://classroom.github.com/a/JSB1UK_f] ## За решаване ### Задача 1 През 1837 година, [url https://en.wikipedia.org/wiki/Charles_Babbage Чарлз Бабидж] пита въпроса: .quote What is the smallest positive integer whose square ends in the digits 269,696? Според него това число е 99736 (чиито квадрат е 9947269696). Напишете програма, която =[намира]= най-малкото число, отговарящо на въпроса. [$examples_bg] |::||:25264:| ### Задача 2 От входа получавате 8 цели положителни числа. Трябва да изкарате най-голямото общо делимо между всички тези числа. [$examples_bg] |:8 8 8 8 8 8 8 8:||:8:| |:2 6 14 8 20 4 12 14:||:2:| |:318 577 200 235 72 333 947 37:||:1:| ### Задача 3 Получавате цяло положително число. В него трябва да замените всички срещания на най-срещаната цифра с 0. Ако има няколко такива цифри, трябва да замените само най голямата от тях. [$examples_bg] |:1:||:0:| |:5:||:0:| |:10:||:0:| |:15:||:10:| |:99:||:0:| |:9988:||:88:| |:138783:||:130703:| |:535735737:||:535035030:| ### Задача 4 Получавате една редица от 15 цели числа и след това втора редица с 5 цели уникални числа. Трябва да върнете броя срещания в първата редица на всяко от числата във втората редица. [$examples_bg] |:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4 5:||:1 1 1 1 1:| |:1 2 2 1 1 2 0 2 1 1 0 2 2 1 1
-9 0 1 2 300:||:0 2 7 6 0:| ### Задача 5 От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: [image ./img/rectangle_and_line.png] изкарайте дали точката е в защрихованата област или не. Областта =[не]= включва правата и правоъгълника! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. [$examples_bg] |:0 0:||:Outside:| |:-1 0:||:Outside:| |:-1.1 0:||:Inside:| |:-2 1:||:Inside:| |:-4 2:||:Outside:| |:-3.9 1.9:||:Inside:| |:-4 -1:||:Outside:| |:-3.9 -0.9:||:Inside:| |:1 2:||:Outside:| |:0.9 2:||:Outside:| |:1 1.9:||:Outside:| |:0.9 1.9:||:Outside:| |:0.8 1.9:||:Inside:| ### Задача 6 От входа получавате цяло положително число. Трябва да върнете дали то е [url https://en.wikipedia.org/wiki/Happy_number щастливо]. Нека да вземем нашето число и да го заменим със сумата на всички свои цифри, повдигнати на квадрат. Оригиналното число е щастливо, ако след краен брой прилагания на тази операция, получим числото 1. Когато число не е щастливо, влизаме в безкрайния цикъл 4, 16, 37, 58, 89, 145, 42, 20, 4, 16, ... Това е единствения възможен цикъл в който нещастно число може да попадне. [$examples_bg] |:1:||:Happy:| |:7:||:Happy:| |:14:||:Not happy:| |:28:||:Happy:| |:318:||:Not happy:| |:319:||:Happy:| |:320:||:Happy:| |:888:||:Happy:| ### Задача 7 От входа получавате 6 реални числа. Пресметнете съответните 6 [url https://en.wikipedia.org/wiki/Prefix_sum префиксни суми] и ги изкарайте. Това са сумите на всички числа до сега. Тоест, префиксната сума на второто число е сумата на първото и второто число. Префиксата сума на третото число е сумата на първото, второто и третото число. [$examples_bg] |:1 2 3 4 5 6:||:1 3 6 10 15 21:| |:30.86 967.214 85 515.27 -453 -37.79:||:30.86 998.074 1083.07 1598.34 1145.34 1107.55:| ### Задача 8 От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: [image ./img/two_circles.png] изкарайте дали точката е в защрихованата област или не. Областта =[не]= включва самите окръжности! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. [$examples_bg] |:1 1:||:Outside:| |:-1.5 -2.5:||:Outside:| |:0 2:||:Outside:| |:0 2.1:||:Inside:| |:-1 2:||:Inside:| |:4 0:||:Outside:| |:3.9 0:||:Inside:| |:3 0:||:Inside:| |:3 -1:||:Outside:| |:3 -2:||:Inside:| |:2.586 -2.5356:||:Inside:| |:2.5356 -2.586:||:Outside:| |:-1.54 1.584:||:Inside:| |:-1.55 1.55:||:Outside:| ### Задача 9 От входа получавате 10 цели числа. Трябва да върнете дали сред тях същестуват три числа (на различни позиции), чиято сума е равна на 0. [$examples_bg] |:1 -2 3 -4 5 -6 7 -8 9 -10:||:Exists:| |:2 4 45 6 -10 5 -45 8 23 11:||:Exists:| |:1 4 45 6 -11 4 -45 8 23 11:||:Doesn't exist:| ### Задача 10 От входа получавате четири трицифрени цели неотрицателн числа. Трябва да върнете най-голямото възможно цяло число, което се получава след "слепване" на тези числа. *[Не е нужно да използвате сортиращ алгоритъм!]* [$examples_bg] |:100 200 300 400:||:400300200100:| |:552 285 732 937:||:937732552285:| |:492 352 289 382:||:492382352289:| ### Задача 11 От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: [image ./img/triangle_and_circle.png] Областта =[не]= включва правата и правоъгълника! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. [$examples_bg] |:-1 1:||:Inside:| |:-1 -1:||:Outside:| |:-2 -1:||:Inside:| |:2 2:||:Inside:| |:3 2:||:Outside:| |:2.9 2:||:Inside:| |:0 1.5:||:Inside:| |:1 1.5:||:Outside:| |:2 1.5:||:Inside:| |:2 1.1:||:Outside:| |:-3.354 -1.831:||:Inside:| |:1.864 1.356:||:Inside:| |:1.73 1.287:||:Outside:| ## За самоподготовка ### Задача 12 От входа получавате цяло неотрицателно число. Трябва да върнете дали е [url https://en.wikipedia.org/wiki/Sum-product_number число на "сума-произведение"]. С други думи, дали е равно на сумата на цифрите си, умножено по умнежнието на цифрите. [$examples_bg] |:0:||:Sum-product number:| |:2:||:Not a sum-product number:| |:22:||:Not a sum-product number:| |:135:||:Sum-product number:| |:1337:||:Not a sum-product number:| ### Задача 13 От входа получавате цяло положително число. Трябва да върнете всички негови делители. [$examples_bg] |:5:||:1 5:| |:15:||:1 3 5:| |:16:||:1 2 4 8 16:| |:137:||:1 137:| |:864:||:1 2 3 4 6 8 9 12 16 18 24 27 32 36 48 54 72 96 108 144 216 288 432 864:| ### Задача 14 От входа получавате две цели неотрицателни числа. Трябва да намерите [url https://en.wikipedia.org/wiki/Tetration тетрацията] на първото числото на степен второто число. Както нормалното степенуване е повторено умножение, така тетрацията е повторено степенуване. Число на тетрация "степен" озачава, че числото се повдига на нормална степен себе си, тетрация степен на брой пъти. Тетрацията расте бързо, използвайте най-големия възможен тип. [$examples_bg] |:2 4:||:65536:| |:3 1:||:3:| |:3 2:||:27:| |:3 3:||:7625597484987:| |:8 2:||:16777216:| ### Задача 15 От входа получавате 8 цели неотрицателни числа. Трябва да върнете най-малкото общо кратно на всеки две съседни числа. Най-малко общо кратно е най-малкото число, което се дели без остатък на двете числа. [$examples_bg] |:1 2 3 4 5 6 7 8:||:2 6 12 20 30 42 56:| |:4 6 9 389 13 13 2 8:||:12 18 3501 5057 13 26 8:| ### Задача 16 От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: [image ./img/rectangles_and_circle.png] изкарайте дали точката е в защрихованата област или не. Зачитайте, че всяка сива права отбелязва брой единици разстояние от нулата. [$examples_bg] |:0 0:||:Outside:| |:-1 -1:||:Outside:| |:-0.5 -0.5:||:Inside:| |:0 0.75:||:Inside:| |:2 0:||:Outside:| |:1.5 0:||:Outside:| |:1.5 0.1:||:Inside:| |:1 0.5:||:Outside:| ### Задача 17 От входа получавате две естествени числа, `[a]` и `[b]`. Трябва да върнете дали `[a]` е [url https://en.wikipedia.org/wiki/Unitary_divisor унитарен делител] на `[b]`. Това е изпълнено, когато `[a]` е делител на `[b]` и най-големия общ делител на `[a]` и `[b / a]` е 1. [$examples_bg] |:5 60:||:Unitary divisor:| |:6 60:||:Not a unitary divisor:| |:5 10:||:Unitary divisor:| |:4 12:||:Unitary divisor:| |:6 12:||:Not a unitary divisor:| ### Задача 18 От входа получавате 10 реални числа. Трябва да върнете най-голямата възможна сума, получена чрез събиране на колкото и дълга =[последователна]= редица от елементи. [$examples_bg] |:1 2 3 4 5 6 7 8 9 10:||:55:| |:-2 -1 0 1 2 3 4 5 6 7:||:28:| |:-2 1 -3 4 -1 2 1 -5 4 -9:||:6:| |:-4 13.3 5.5 7 -6.5 10 0 -15 2.1 3:||:29.3:|