Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
5 files changed, 212 insertions, 1 deletions
-rw-r--r--README.md3
-rw-r--r--Sem. 6/README.md35
-rw-r--r--Sem. 6/Task_1(with functions).cpp26
-rw-r--r--Sem. 6/Task_1(without functions).cpp40
-rw-r--r--Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp109
diff --git a/README.md b/README.md
index 6e65e4e..2c6303a 100644
--- a/README.md
+++ b/README.md
@@ -5,4 +5,5 @@
- **Тема 2 (16.10.2020) :** Приоритет на операторите. ��оциативно�т. У�ловни провеки (if, switch)
- **Тема 3 (23.10.2020 и 28.10.2020) :** Жизнен цикъл на променливите. Оператори за цикъл(while, for). Оператор break. Задачи.
- **Тема 4 (04.11.2020) :** Бройни �и�теми. Побитови операции.
- - **Тема 5 (13.11.2020) :** Задачи за цикли и побитови операции. \ No newline at end of file
+ - **Тема 5 (13.11.2020) :** Задачи за цикли и побитови операции.
+ - **Тема 6 (17.11.2020) :** Функции. \ No newline at end of file
diff --git a/Sem. 6/README.md b/Sem. 6/README.md
new file mode 100644
index 0000000..0e79b21
--- /dev/null
+++ b/Sem. 6/README.md
@@ -0,0 +1,35 @@
+**Çàäà÷à 1:** Âúâåæäà ñå íåîòðèöàòåëíî ÷èñëî n. Äà ñå îòïå÷àòàò âñè÷êè äâîéêè ïðîñòè ÷èñëà, êîèòî ñà âúâ âèäà 6k-1 è 6k+1.
+
+**Çàäà÷à 2:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî n è âðúùà ÷èñëîòî îáúðíàòî
+
+*Âõîä: 288, Èçõîä: 822*
+
+**Çàäà÷à 3:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî è âðúùà äàëè ÷èñëîòî å ïàëèíäðîì.
+
+**Çàäà÷à 4:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíè ÷èñëà n è k è âðúùà äàëè k å ñóôèêñ íà n.
+
+*Âõîä: 288, 88, Èçõîä: true*
+
+**Çàäà÷à 5:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíè ÷èñëà n è k è âðúùà äàëè k å ïðåôèêñ íà n.
+
+*Âõîä: 288, 28, Èçõîä: true*
+
+**Çàäà÷à 6:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíè ÷èñëà n è k è âðúùà äàëè k ñå ñúäúðæà â n.
+
+*Âõîä: 2831, 83, Èçõîä: true*
+
+**Çàäà÷à 7:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî n è ïðîâåðÿâà äàëè èìà 4 ïîñëåäîâàòåëíè åäíàêâè öèôðè.
+
+*Âõîä: 28777731, 83, Èçõîä: true*
+
+**Çàäà÷à 8:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî è âðúùà äàëè öèôðèòå ìó ñà ñîðòèðàíè âúâ âúçõîäÿù ðåä.
+
+*Âõîä: 122239, Èçõîä: true*
+
+**Çàäà÷à 9:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî è âðúùà äàëè öèôðèòå ìó ñà ñîðòèðàíè â íèçõîäÿù ðåä.
+
+*Âõîä: 99943, Èçõîä: true*
+
+**Çàäà÷à 9:** Íàïèøåòå ôóíêöèÿ, êîÿòî ïðèåìà íåîòðèöàòåëíî ÷èñëî è âðúùà äàëè öèôðèòå ìó ñà åäíàêâè.
+
+*Âõîä: 111111, Èçõîä: true* \ No newline at end of file
diff --git a/Sem. 6/Task_1(with functions).cpp b/Sem. 6/Task_1(with functions).cpp
new file mode 100644
index 0000000..db68d0d
--- /dev/null
+++ b/Sem. 6/Task_1(with functions).cpp
@@ -0,0 +1,26 @@
+#include <iostream>
+using namespace std;
+
+bool isPrime(int number)
+{
+ double temp = sqrt(number);
+ for (int i = 2; i <= temp; i++)
+ {
+ if (number % i == 0)
+ return false; //Ñïèðà ôóíêöèÿòà è âðúùà îòãîâîð - ëúæà
+ }
+ return true;
+}
+
+int main()
+{
+ int n;
+ cin >> n;
+
+ for (int i = 6; i <= n; i += 6)
+ {
+ if (isPrime(i - 1) && isPrime(i + 1))
+ cout << i - 1 << " " << i + 1 << endl;
+ }
+
+} \ No newline at end of file
diff --git a/Sem. 6/Task_1(without functions).cpp b/Sem. 6/Task_1(without functions).cpp
new file mode 100644
index 0000000..9e5bcdb
--- /dev/null
+++ b/Sem. 6/Task_1(without functions).cpp
@@ -0,0 +1,40 @@
+#include <iostream>
+using namespace std;
+
+int main()
+{
+ int n;
+ cin >> n;
+
+ for (int i = 6; i <= n; i+=6)
+ {
+ int firstNumToCheck = i - 1, secondNumToCheck = i + 1;
+
+ double temp = sqrt(firstNumToCheck);
+ bool isFirstNumPrime = true;
+ for (int j = 2; j <= temp; j++)
+ {
+ if (firstNumToCheck % j == 0)
+ {
+ isFirstNumPrime = false;
+ break;
+ }
+ }
+
+ if (!isFirstNumPrime)
+ continue;
+ double temp2 = sqrt(secondNumToCheck);
+ bool isSecondNumPrime = true;
+ for (int j = 2; j <= temp2; j++)
+ {
+ if (secondNumToCheck % j == 0)
+ {
+ isSecondNumPrime = false;
+ break;
+ }
+ }
+ if (isSecondNumPrime)
+ cout << firstNumToCheck << " " << secondNumToCheck << endl;
+ }
+
+} \ No newline at end of file
diff --git a/Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp b/Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp
new file mode 100644
index 0000000..20b6e45
--- /dev/null
+++ b/Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp
@@ -0,0 +1,109 @@
+#include <iostream>
+using namespace std;
+
+
+//Task 2
+unsigned int reverse(unsigned int number)
+{
+ int result = 0;
+
+ while (number != 0)
+ {
+ int lastDigit = number % 10;
+ (result *= 10) += lastDigit;
+ number /= 10;
+ }
+
+ return result;
+}
+
+//Task 3
+bool isPalindrome(unsigned int n)
+{
+ return n == reverse(n);
+}
+
+//Task 4
+bool isSuffix(unsigned int n, unsigned int k)
+{
+ if (n < k)
+ return false;
+ while (k != 0)
+ {
+ int lastDigitFromN = n % 10;
+ int lastDigitFromK = k % 10;
+ if (lastDigitFromN != lastDigitFromK)
+ return false;
+ n /= 10;
+ k /= 10;
+ }
+ return true;
+}
+
+// Task 5
+bool isPrefix(unsigned int n, unsigned int k)
+{
+ return isSuffix(reverse(n), reverse(k));
+}
+
+// Task 6
+bool isInfix(unsigned int n, unsigned int k)
+{
+ if (k > n)
+ return false;
+ while (n >= k)
+ {
+ if (isSuffix(n, k))
+ return true;
+ n /= 10;
+ }
+ return false;
+}
+
+// Task 7
+bool hasConsecutiveFourDigits(unsigned int n)
+{
+ for (int i = 1111; i <= 9999; i+=1111)
+ {
+ if (isInfix(n, i))
+ return true;
+ }
+ for (int i = 10000; i <= 90000; i += 10000)
+ {
+ if (isInfix(n, i))
+ return true;
+ }
+ return false;
+}
+
+// Task 8
+bool areDigitsSortedIncreasing(unsigned int n)
+{
+ while (n >= 10)
+ {
+ int lastDigit = n % 10;
+ int lastLastDigit = (n / 10) % 10;
+
+ if (lastLastDigit > lastDigit)
+ return false;
+ n /= 10; //
+ }
+ return true;
+}
+
+// Task 9
+bool areDigitsSortedDecreasing(unsigned int n)
+{
+ return areDigitsSortedIncreasing(reverse(n));
+}
+
+// Task 10
+bool areAllDigitsTheSame(unsigned int n)
+{
+ return areDigitsSortedIncreasing(n) && areDigitsSortedDecreasing(n);
+}
+int main()
+{
+
+ cout << areAllDigitsTheSame(777);
+} \ No newline at end of file