Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit04e3d68180d69394e60ca7c81c584a800e043578 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-11-01 20:31:15 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-11-01 20:31:15 +0200
Filesbe00206d7d0a4b82242837690df882a6411eeed3 /src
syndamia.com-04e3d68180d69394e60ca7c81c584a800e043578.tar
syndamia.com-04e3d68180d69394e60ca7c81c584a800e043578.tar.gz
syndamia.com-04e3d68180d69394e60ca7c81c584a800e043578.zip
Parentb0dfc3040118893369b77a555488b3f000b1bca7 (diff)
feat(teaching/upp-2025/w05): Add solutions
2 files changed, 43 insertions, 0 deletions
-rw-r--r--src/teaching/upp-2025/index.du1
-rw-r--r--src/teaching/upp-2025/week05/index.du42
diff --git a/src/teaching/upp-2025/index.du b/src/teaching/upp-2025/index.du
index 5d6e79e..8449995 100644
--- a/src/teaching/upp-2025/index.du
+++ b/src/teaching/upp-2025/index.du
@@ -66,5 +66,6 @@
|:Масиви, цикли:|
|::||::||:
[url ./week05 Задачи]
+ || [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05 Решения]
|| [url https://classroom.github.com/a/6oPRMxJx GitHub Classroom]
:|
diff --git a/src/teaching/upp-2025/week05/index.du b/src/teaching/upp-2025/week05/index.du
index 077439a..cadee24 100644
--- a/src/teaching/upp-2025/week05/index.du
+++ b/src/teaching/upp-2025/week05/index.du
@@ -14,6 +14,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 1
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise01.cpp Решение]
+
От входа получавате 10 реални числа.
Трябва да ги върнете в обратен ред.
@@ -24,6 +26,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 2
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise02.cpp Решение]
+
От входа получавате 7 букви.
Трябва да изкарате буквите в същата последователност, обаче завъртяни надясно с 3 позиции.
@@ -33,6 +37,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 3
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise03.cpp Решение]
+
От входа получавате 14 цели неотрицателни числа.
Трябва да изкарате второто най-голямо число.
Ако няма такова, просто изкарайте най-голямото.
@@ -44,6 +50,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 4
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise04.cpp Решение]
+
От входа получавате две цели положителни числа.
Трябва да върнете [url https://en.wikipedia.org/wiki/Factorial#Definition факториел] от първото число, който факториел е повдигнат на степен второто число.
@@ -60,6 +68,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 5
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise05.cpp Решение]
+
От входа получавате 18 цели числа.
Трябва да изкарате същата поредица числа, обаче всички нули са в началото на редицата.
@@ -73,6 +83,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 6
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise06.cpp Решение]
+
От входа получавате 15 цели числа.
Трябва да изкарате дължината на най-дългата последователност от числа, която е подредена в нарастващ ред.
@@ -91,6 +103,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 7
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise07.cpp Решение]
+
От входата получавате цяло неотрицателно число.
Върнете дали то е перфектно: дали е равно на сумата на всички свои делители, освен себе си.
@@ -108,6 +122,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 8
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise08.cpp Решение]
+
От входа получавате две редици от по 10 реални числа (т.е. първите 10 числа са от първата редица, и вторите 10 числа образуват втората редица).
След това получавате знак - аритметича операция (`[+]`, `[-]`, `[*]`, `[/]`).
@@ -125,6 +141,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 9
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise09.cpp Решение]
+
От входа получавате реално число z между 0 (изключително) и 2 (включително), заедно с дължина n.
Трябва да намерите стойността на логаритъм с основа &escr; ([url https://en.wikipedia.org/wiki/E_(mathematical_constant) Неперово число]) от това число, използвайки развитието по ред на Тейлър:
@@ -148,6 +166,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 10
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise10.cpp Решение]
+
От входа получавате цяло неотрицатено число с максимум 8 цифри.
Това число представлява сериен номер под [url https://en.wikipedia.org/wiki/S10_(UPU_standard) S10 стандарта за идентификационни номера на пратки].
@@ -171,6 +191,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 11
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise11.cpp Решение]
+
От входа получавате цяло неотрицателно число.
Изкарвате [url https://en.wikipedia.org/wiki/Lucas_number числото на Лукас] след толкова на брой позиции и ако числото =[не]= е било 0, приемаме ново число и повтаряте логиката.
@@ -198,6 +220,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 12
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise12.cpp Решение]
+
От входа получавате 20 цели числа, всяко от които е индекс на елемент в масива (т.е. всяко е между 0 и 19 включително).
Започвайки от първия елемент, вземате числената му стойност като индекс и "отивате" на тази позиция в масива.
@@ -222,6 +246,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 13
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise13.cpp Решение]
+
От входа получавате 8 цели числа.
След това получавате 9то цяло число.
@@ -235,6 +261,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 14
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise14.cpp Решение]
+
От входа получавате 16 цели числа.
Трябва да изкарате, на два реда, първо всички четни числа и после всички нечетни.
@@ -246,6 +274,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 15
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise15.cpp Решение]
+
От входа получавате 12 реални числа.
Трябва да върнете, на отделни редове, двойки числа от тази поредица:
.bulleted
@@ -271,6 +301,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 16
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise16.cpp Решение]
+
От входа получавате две редици от по 5 цели числа (т.е. първите 5 числа са част от първата редица и вторите 5 числа са част от втората).
Трябва да изкарате една редица от числа, където двете редици са преплетени: първо имаме първото число от първата редица, след това първото число от втората редица, след това второто число от първата редица и така нататък.
@@ -281,6 +313,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 17
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise17.cpp Решение]
+
От входа получавате цяло число в десетична бройна система.
Трябва да изкарате дали то е [url https://en.wikipedia.org/wiki/Narcissistic_number число на Армстронг]: число, което е равно на сумата на цифрите си, където всяка цифра е повдигната на степен, дължината на числото.
@@ -295,6 +329,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 18
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise18.cpp Решение]
+
.note
=[(01.11.2025)]= Поправени бройката на входните цели числа и втория пример.
@@ -310,6 +346,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 19
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise19.cpp Решение]
+
От входа получавате две числа: реален ъгъл в радиани x и положителен максимален индекс n.
Трябва да върнете стойността на синус от този ъгъл, използвайки реда на Тейлър:
@@ -326,6 +364,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 20
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise20.cpp Решение]
+
От входа получавате цяло положително число.
Трябва да валидирате това число използвайки [url https://en.wikipedia.org/wiki/Luhn_algorithm алгоритъма на Luhn]:
.numbered
@@ -352,6 +392,8 @@ GitHub Classroom: [url https://classroom.github.com/a/6oPRMxJx]
### Задача 21
+.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week05/Exercise21.cpp Решение]
+
От входа получавате цяло неотрицателно число.
Трябва да върнете съответното по индекс [url https://en.wikipedia.org/wiki/Catalan_number число на Каталан].