Website Summary Files Commits Branches @commit @diff @stats
path: root / Week06
NameSize
..
Exercise01.cpp270 Blog stats plain blame
Exercise02.cpp427 Blog stats plain blame
Exercise03.cpp806 Blog stats plain blame
Exercise04.cpp615 Blog stats plain blame
Exercise05.cpp1.1 KiBlog stats plain blame
Exercise06.cpp385 Blog stats plain blame
Exercise07.cpp414 Blog stats plain blame
Exercise08.cpp1.0 KiBlog stats plain blame
Exercise09.cpp492 Blog stats plain blame
Exercise10.cpp1.3 KiBlog stats plain blame
Exercise11.cpp708 Blog stats plain blame
Exercise12.cpp429 Blog stats plain blame
Exercise13.cpp245 Blog stats plain blame
Exercise14.cpp353 Blog stats plain blame
Exercise15.cpp401 Blog stats plain blame
Exercise17.cpp407 Blog stats plain blame
Exercise18.cpp517 Blog stats plain blame
README.md11.0 KiBlog stats plain blame

Задачи

https://syndamia.com/teaching/upp-2025/week06/

За решаване

Задача 1

През 1837 година, Чарлз Бабидж пита въпроса:

.quote What is the smallest positive integer whose square ends in the digits 269,696?

Според него това число е 99736 (чиито квадрат е 9947269696). Напишете програма, която намира най-малкото число, отговарящо на въпроса.

Вход Изход
25264

Задача 2

От входа получавате 8 цели положителни числа. Трябва да изкарате най-голямото общо делимо между всички тези числа.

Вход Изход
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.

Ако има няколко такива цифри, трябва да замените само най голямата от тях.

Вход Изход
1 0
5 0
10 0
15 10
99 0
9988 88
138783 130703
535735737 535035030

Задача 4

Получавате една редица от 15 цели числа и след това втора редица с 5 цели уникални числа. Трябва да върнете броя срещания в първата редица на всяко от числата във втората редица.

Вход Изход
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

От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение:

изкарайте дали точката е в защрихованата област или не. Областта не включва правата и правоъгълника!

Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица.

Вход Изход
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

От входа получавате цяло положително число. Трябва да върнете дали то е щастливо.

Нека да вземем нашето число и да го заменим със сумата на всички свои цифри, повдигнати на квадрат. Оригиналното число е щастливо, ако след краен брой прилагания на тази операция, получим числото 1.

Когато число не е щастливо, влизаме в безкрайния цикъл 4, 16, 37, 58, 89, 145, 42, 20, 4, 16, ... Това е единствения възможен цикъл в който нещастно число може да попадне.

Вход Изход
1 Happy
7 Happy
14 Not happy
28 Happy
318 Not happy
319 Happy
320 Happy
888 Happy

Задача 7

От входа получавате 6 реални числа. Пресметнете съответните 6 префиксни суми и ги изкарайте.

Това са сумите на всички числа до сега. Тоест, префиксната сума на второто число е сумата на първото и второто число. Префиксата сума на третото число е сумата на първото, второто и третото число.

Вход Изход
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

От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение:

изкарайте дали точката е в защрихованата област или не. Областта не включва самите окръжности!

Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица.

Вход Изход
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.

Вход Изход
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

От входа получавате четири трицифрени цели неотрицателн числа. Трябва да върнете най-голямото възможно цяло число, което се получава след "слепване" на тези числа.

Не е нужно да използвате сортиращ алгоритъм!

Вход Изход
100 200 300 400 400300200100
552 285 732 937 937732552285
492 352 289 382 492382352289

Задача 11

От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение:

Областта не включва правата и правоъгълника!

Зачитайте, че черните прави отбелязват главните оси, а разстоянията между съседни сиви оси е единица.

Вход Изход
-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

От входа получавате цяло неотрицателно число. Трябва да върнете дали е число на "сума-произведение".

С други думи, дали е равно на сумата на цифрите си, умножено по умнежнието на цифрите.

Вход Изход
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

От входа получавате цяло положително число. Трябва да върнете всички негови делители.

Вход Изход
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

От входа получавате две цели неотрицателни числа. Трябва да намерите тетрацията на първото числото на степен второто число.

Както нормалното степенуване е повторено умножение, така тетрацията е повторено степенуване. Число на тетрация "степен" озачава, че числото се повдига на нормална степен себе си, тетрация степен на брой пъти.

Тетрацията расте бързо, използвайте най-големия възможен тип.

Вход Изход
2 4 65536
3 1 3
3 2 27
3 3 7625597484987
8 2 16777216

Задача 15

От входа получавате 8 цели неотрицателни числа. Трябва да върнете най-малкото общо кратно на всеки две съседни числа.

Най-малко общо кратно е най-малкото число, което се дели без остатък на двете числа.

Вход Изход
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

От входа получавате две реални числа: координати на точка в равнината. Спрямо следното изображение:

изкарайте дали точката е в защрихованата област или не.

Зачитайте, че всяка сива права отбелязва брой единици разстояние от нулата.

Вход Изход
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 е унитарен делител на b.

Това е изпълнено, когато a е делител на b и най-големия общ делител на a и b / a е 1.

Вход Изход
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 реални числа. Трябва да върнете най-голямата възможна сума, получена чрез събиране на колкото и дълга последователна редица от елементи.

Вход Изход
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