| Name | Size | |
|---|---|---|
| .. | ||
| README.md | 7.0 KiB | log stats plain blame |
| drawing_examples.txt | 2.0 KiB | log stats plain blame |
| example 1 - gcd (naive).cpp | 238 B | log stats plain blame |
| example 2 - gcd (euclid).cpp | 231 B | log stats plain blame |
| example 3 - reverse and increment.cpp | 229 B | log stats plain blame |
| example 4 - prime number.cpp | 267 B | log stats plain blame |
| example 5 - prime factors.cpp | 575 B | log stats plain blame |
| solutions | 252 B | log stats plain |
Оператори за цикъл
Цикъл while

while(<condition>)
{
body...
}
Пример с Алгоритъмът на Евклид:
n = 16, k = 24
<24, 16> 24 % 16 = 8
<16, 8> 16 % 8 = 0
<8, 0>
=> gcd(16,24) = 8
Цикъл for
for(int i = 0; i <= 300; i+=2)
{
//body
}
Структурата на for-циклите включва: 1. инициализационен блок 2. условие на цикъла 3. команди за обновяване на водещите променливи 4. Тяло на цикъла
Цикъл do-while
Do-while конструкцията е подобна while цикъла, но с тази разлика, че условието е зададено в края т.е. проверката се прави след като се изпълни тялото на цикъла.
do
{
//body
} while(<condition>);
Важно: При do-while тялото се изпълнява поне веднъж!
Оператор break
Използва се преждевременно излизане от цикъл, преди той да е завършил изпълнението си по естествения си начин.
Оператор continue
Използва се, когато реализираният алгоритъм изисква пропускане на част от операторите или част от кода в тялото на даден цикъл.
Задачи
Задача 1: Да се напише програма, която приема поток от числа. Числата се събират, докато не се въведе числото 0. Тогава трябва да се отпечата акумулираният резултат и да програмата да приключи.
Вход: 1 2 3 4 5 6 0, Изход: 21
Вход: 9 9 1 0, Изход: 19
Вход: 5 4 3 0 Изход: 12
Задача 2: Да се напише програма, която приема 2 числа. Да се отпечатат всички общи делители сортиран наобратно.
Вход: 28 21, Изход: 7 1
Вход: 60 30 Изход: 30 15 10 6 5 3 2 1
Вход: 19 17 Изход: 1
Задача 3: Да се напише програма, която приема число и премахва среднaта цифра , ако числото има нечетен брой цифри или премахва средните две цифри, ако числото има четен брой цифри. След това да се отпечата числото увеличено с 1-ца.
Вход: 1234, Изход: 14, 15
Вход: 123 Изход: 13, 14
Вход: 51234 Изход: 5134, 5135
Вход: 5 Изход: 0, 1
Задача 4: Да се напише програма, която приема 2 числa - a и b и отпечатва всички прости числа в интервала [a, b].
Вход: 10 20, Изход: 11 13 17 19
Вход: 20 1, Изход:
Вход: 1 20 Изход: 2 3 5 7 11 13 17 19
Задача 5: Да се напише програма, която приема цяло число и отпечатва дали е степен на 2-ката.
Вход: 1 , Изход: true
Вход: 20 Изход: false
Вход: 1024 Изход: true
Задача 6: Въвеждат се 5 цели числа - a,b,c,d, e. Разглеждаме полинома f(x) = a * x^4 + b * x^3 + c* x^2 + d * x + e. Отпечатайте всички цели решения на f(x) >= 0 където x e в интервала [-100, 100]
Вход: -1 4 0 8 1 , Изход: -1 0 2 3
Вход: 0 0 -1 5 -6 Изход: 2 3
!! Задачите надолу са за рисуване на конзолата. Във файла drawing_examples.txt има изходите като текст.!!
Задача 8: Да се напише програма, която приема цяло положително число n и отпечатва следната пирамида от доларчета
Пример:

Задача 9: Да се напише програма, която приема цяло положително число n и отпечатва следната пирамида от числа (подравнена надясно)
Пример:

Задача 10: Да се напише програма, която приема цяло положително число n и отпечатва числата от 1 до nn в спираловиден вид (тип 1)
Пример:

Задача 11: Да се напише програма, която приема цяло положително число n и отпечатва числата от 1 до nn в спираловиден вид (тип 2)
Пример:

Задача 12: Да се напише програма, която приема цяло положително число n и отпечатва следната рамка
Пример:

Задача 13: Да се напише програма, която приема цяло положително число n и отпечатва следната гира:
Пример:

Задача 14: Да се напише програма, която приема цяло положително число n и отпечатва следното дърво:
Пример:

Задача 15: Да се напише програма, която приема цяло положително число n и отпечатва следната папионка:

Задача 16: Да се напише програма, която приема цяло положително число n и отпечатва следния килим:

Задача 17: Да се напише програма, която приема цяло положително число n (n>=2) и след това n цели числа. Да се отпечатат най-голямато и второто по големина.
Вход: 10 9 1 4 5 10 99 34 0 44 1, Изход: 99 44
Вход: 4 1 3 3 1, Изход: 3 3
