diff options
1 files changed, 94 insertions, 59 deletions
| -rw-r--r-- | src/teaching/upp-2025/week06/index.du | 153 |
diff --git a/src/teaching/upp-2025/week06/index.du b/src/teaching/upp-2025/week06/index.du index a1660f8..dcdd607 100644 --- a/src/teaching/upp-2025/week06/index.du +++ b/src/teaching/upp-2025/week06/index.du @@ -1,27 +1,28 @@ -# Задачи - УПП, Седмица 6, 06.11.2025 +'def title Задачи - УПП, Седмица 6, 06.11.2025 +'def desc Условията на задачите за упражнение. -'define expected-reading 10 min -'define created 01 November 2025 -'define edited 06 November 2025 -[$pagenav] +# {title} -GitHub Classroom: [url https://classroom.github.com/a/JSB1UK_f] +{pagenav 10 min;01 November 2025;06 November 2025} + +GitHub Classroom: {url https://classroom.github.com/a/JSB1UK_f} ## За решаване ### Задача 1 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise01.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise01.cpp} -През 1837 година, [url https://en.wikipedia.org/wiki/Charles_Babbage Чарлз Бабидж] пита въпроса: +През 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). -Напишете програма, която [=намира=] най-малкото число, отговарящо на въпроса. +Напишете програма, която {b намира} най-малкото число, отговарящо на въпроса. -:table_2 +:table +:2 |= Вход |= Изход @@ -29,14 +30,16 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 25264 + ### Задача 2 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise02.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise02.cpp} От входа получавате 8 цели положителни числа. Трябва да изкарате най-голямото общо делимо между всички тези числа. -:table_2 +:table +:2 |= Вход |= Изход @@ -50,16 +53,18 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 1 + ### Задача 3 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise03.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise03.cpp} Получавате цяло положително число. В него трябва да замените всички срещания на най-срещаната цифра с 0. Ако има няколко такива цифри, трябва да замените само най голямата от тях. -:table_2 +:table +:2 |= Вход |= Изход @@ -88,14 +93,16 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 535035030 + ### Задача 4 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise04.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise04.cpp} Получавате една редица от 15 цели числа и след това втора редица с 5 цели уникални числа. Трябва да върнете броя срещания в първата редица на всяко от числата във втората редица. -:table_2 +:table +:2 |= Вход |= Изход @@ -106,21 +113,23 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 0 2 7 6 0 + ### Задача 5 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise05.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise05.cpp} От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: -[image ./img/rectangle_and_line.png] +{img ./img/rectangle_and_line.png} изкарайте дали точката е в защрихованата област или не. -Областта [=не=] включва правата и правоъгълника! +Областта {b не} включва правата и правоъгълника! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. -:table_2 +:table +:2 |= Вход |= Изход @@ -164,12 +173,13 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Inside + ### Задача 6 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise06.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise06.cpp} От входа получавате цяло положително число. -Трябва да върнете дали то е [url https://en.wikipedia.org/wiki/Happy_number щастливо]. +Трябва да върнете дали то е {url щастливо;https://en.wikipedia.org/wiki/Happy_number}. Нека да вземем нашето число и да го заменим със сумата на всички свои цифри, повдигнати на квадрат. Оригиналното число е щастливо, ако след краен брой прилагания на тази операция, получим числото 1. @@ -177,7 +187,8 @@ What is the smallest positive integer whose square ends in the digits 269,696? Когато число не е щастливо, влизаме в безкрайния цикъл 4, 16, 37, 58, 89, 145, 42, 20, 4, 16, ... Това е единствения възможен цикъл в който нещастно число може да попадне. -:table_2 +:table +:2 |= Вход |= Изход @@ -206,18 +217,20 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Happy + ### Задача 7 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise07.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise07.cpp} От входа получавате 6 реални числа. -Пресметнете съответните 6 [url https://en.wikipedia.org/wiki/Prefix_sum префиксни суми] и ги изкарайте. +Пресметнете съответните 6 {url префиксни суми;https://en.wikipedia.org/wiki/Prefix_sum} и ги изкарайте. Това са сумите на всички числа до сега. Тоест, префиксната сума на второто число е сумата на първото и второто число. Префиксата сума на третото число е сумата на първото, второто и третото число. -:table_2 +:table +:2 |= Вход |= Изход @@ -228,21 +241,23 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 30.86 998.074 1083.07 1598.34 1145.34 1107.55 + ### Задача 8 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise08.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise08.cpp} От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: -[image ./img/two_circles.png] +{img ./img/two_circles.png} изкарайте дали точката е в защрихованата област или не. -Областта [=не=] включва самите окръжности! +Областта {b не} включва самите окръжности! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. -:table_2 +:table +:2 |= Вход |= Изход @@ -289,14 +304,16 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Outside + ### Задача 9 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise09.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise09.cpp} От входа получавате 10 цели числа. Трябва да върнете дали сред тях същестуват три числа (на различни позиции), чиято сума е равна на 0. -:table_2 +:table +:2 |= Вход |= Изход @@ -310,16 +327,18 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Doesn't exist + ### Задача 10 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise10.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise10.cpp} От входа получавате четири трицифрени цели неотрицателн числа. Трябва да върнете най-голямото възможно цяло число, което се получава след "слепване" на тези числа. -[*Не е нужно да използвате сортиращ алгоритъм!*] +{i Не е нужно да използвате сортиращ алгоритъм!} -:table_2 +:table +:2 |= Вход |= Изход @@ -333,20 +352,22 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 492382352289 + ### Задача 11 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise11.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise11.cpp} От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: -[image ./img/triangle_and_circle.png] +{img ./img/triangle_and_circle.png} -Областта [=не=] включва правата и правоъгълника! +Областта {b не} включва правата и правоъгълника! Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица. -:table_2 +:table +:2 |= Вход |= Изход @@ -390,18 +411,20 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Outside + ## За самоподготовка ### Задача 12 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise12.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise12.cpp} От входа получавате цяло неотрицателно число. -Трябва да върнете дали е [url https://en.wikipedia.org/wiki/Sum-product_number число на "сума-произведение"]. +Трябва да върнете дали е {url число на "сума-произведение";https://en.wikipedia.org/wiki/Sum-product_number}. С други думи, дали е равно на сумата на цифрите си, умножено по умнежнието на цифрите. -:table_2 +:table +:2 |= Вход |= Изход @@ -421,14 +444,16 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Not a sum-product number + ### Задача 13 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise13.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise13.cpp} От входа получавате цяло положително число. Трябва да върнете всички негови делители. -:table_2 +:table +:2 |= Вход |= Изход @@ -448,19 +473,21 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 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 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise14.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise14.cpp} От входа получавате две цели неотрицателни числа. -Трябва да намерите [url https://en.wikipedia.org/wiki/Tetration тетрацията] на първото числото на степен второто число. +Трябва да намерите {url тетрацията;https://en.wikipedia.org/wiki/Tetration} на първото числото на степен второто число. Както нормалното степенуване е повторено умножение, така тетрацията е повторено степенуване. Число на тетрация "степен" озачава, че числото се повдига на нормална степен себе си, тетрация степен на брой пъти. Тетрацията расте бързо, използвайте най-големия възможен тип. -:table_2 +:table +:2 |= Вход |= Изход @@ -480,16 +507,18 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 16777216 + ### Задача 15 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise15.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise15.cpp} От входа получавате 8 цели неотрицателни числа. Трябва да върнете най-малкото общо кратно на всеки две съседни числа. Най-малко общо кратно е най-малкото число, което се дели без остатък на двете числа. -:table_2 +:table +:2 |= Вход |= Изход @@ -500,18 +529,20 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: 12 18 3501 5057 13 26 8 + ### Задача 16 От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение: -[image ./img/rectangles_and_circle.png] +{img ./img/rectangles_and_circle.png} изкарайте дали точката е в защрихованата област или не. Зачитайте, че всяка сива права отбелязва брой единици разстояние от нулата. -:table_2 +:table +:2 |= Вход |= Изход @@ -540,16 +571,18 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Outside + ### Задача 17 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise17.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise17.cpp} -От входа получавате две естествени числа, [`a`] и [`b`]. -Трябва да върнете дали [`a`] е [url https://en.wikipedia.org/wiki/Unitary_divisor унитарен делител] на [`b`]. +От входа получавате две естествени числа, {` a} и {` b}. +Трябва да върнете дали {` a} е {url унитарен делител;https://en.wikipedia.org/wiki/Unitary_divisor} на {` b}. -Това е изпълнено, когато [`a`] е делител на [`b`] и най-големия общ делител на [`a`] и [`b / a`] е 1. +Това е изпълнено, когато {` a} е делител на {` b} и най-големия общ делител на {` a} и {` b / a} е 1. -:table_2 +:table +:2 |= Вход |= Изход @@ -569,14 +602,16 @@ What is the smallest positive integer whose square ends in the digits 269,696? |: Not a unitary divisor + ### Задача 18 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise18.cpp Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week06/Exercise18.cpp} От входа получавате 10 реални числа. -Трябва да върнете най-голямата възможна сума, получена чрез събиране на колкото и дълга [=последователна=] редица от елементи. +Трябва да върнете най-голямата възможна сума, получена чрез събиране на колкото и дълга {b последователна} редица от елементи. -:table_2 +:table +:2 |= Вход |= Изход |