1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# Оператори за цикъл
### Цикъл while

```c++
while(<condition>)
{
body...
}
```
Пример с **Алгоритъмът на Евклид**:
```c++
n = 16, k = 24
<24, 16> 24 % 16 = 8
<16, 8> 16 % 8 = 0
<8, 0>
=> gcd(16,24) = 8
```
### Цикъл for
```c++
for(int i = 0; i <= 300; i+=2)
{
//body
}
```
Структурата на for-циклите включва:
1. инициализационен блок
2. условие на цикъла
3. команди за обновяване на водещите променливи
4. Тяло на цикъла
### Цикъл do-while
_Do-while_ конструкцията е подобна _while_ цикъла, но с тази разлика, че условието е зададено в края т.е. проверката се прави след като се изпълни тялото на цикъла.
```c++
do
{
//body
} while(<condition>);
```
**Важно**: При do-while тялото се изпълнява поне веднъж!
### Оператор break
Използва се преждевременно излизане от цикъл, преди той да е завършил изпълнението си по естествения си начин.
### Оператор continue
Използва се, когато реализираният алгоритъм изисква пропускане на част от операторите или част от кода в тялото на даден цикъл.
<h3>Задачи</h3>
**Задача 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 до n*n в спираловиден вид **(тип 1)*
*Пример:*

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

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

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

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

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

|