From 1697dfff314ccbbe1457e95ed736aaa296bfddcc Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Tue, 17 Nov 2020 19:24:32 +0200 Subject: added sem 6 examples --- README.md | 3 +- Sem. 6/README.md | 35 +++++++++++ Sem. 6/Task_1(with functions).cpp | 26 +++++++++ Sem. 6/Task_1(without functions).cpp | 40 +++++++++++++ Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp | 109 +++++++++++++++++++++++++++++++++++ 5 files changed, 212 insertions(+), 1 deletion(-) create mode 100644 Sem. 6/README.md create mode 100644 Sem. 6/Task_1(with functions).cpp create mode 100644 Sem. 6/Task_1(without functions).cpp create mode 100644 Sem. 6/Tasks_2,3,4,5,6,7,8,9,10.cpp 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 +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 +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 +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 -- cgit v1.3.1-23-gd82d