diff options
new
7 files changed, 0 insertions, 217 deletions
| -rw-r--r-- | Sem. 05/README.md | 18 | ||||
| -rw-r--r-- | Sem. 05/Task 1.cpp | 58 | ||||
| -rw-r--r-- | Sem. 05/Task 2.cpp | 39 | ||||
| -rw-r--r-- | Sem. 05/Task 3.cpp | 27 | ||||
| -rw-r--r-- | Sem. 05/Task 4.cpp | 23 | ||||
| -rw-r--r-- | Sem. 05/Task 5.cpp | 33 | ||||
| -rw-r--r-- | Sem. 05/Task 6.cpp | 19 |
diff --git a/Sem. 05/README.md b/Sem. 05/README.md deleted file mode 100644 index b65599b..0000000 --- a/Sem. 05/README.md +++ /dev/null @@ -1,18 +0,0 @@ -**Задача 1:** Въвежда Ñ�е неотрицателно чиÑ�ло n. Да Ñ�е провери дали n е проÑ�то. - -**Задача 2:** Въвежда Ñ�е неотрицателно чиÑ�ло n. Да Ñ�е отпечата неговото разбиване на проÑ�ти множители. - -*Вход: 288, Изход: 2^5 * 3^2* - -**Задача 3:** Въвежда Ñ�е неотрицателно чиÑ�ло n. ПреÑ�метнете n + 1, използвайки Ñ�амо цикли и побитови операции. - -**Задача 4:** Въвеждат Ñ�е неотрицателни чиÑ�ла n и k. ПреÑ�метнете n + k, използвайки Ñ�амо цикли и побитови операции. - -**Задача 5:** Въвеждат Ñ�е неотрицателни чиÑ�ла n и k. ПреÑ�метнете n * k, използвайки Ñ�амо цикли и побитови операции. - -**Задача 6:** Ð’Ñ�Ñ�ко еÑ�теÑ�твено чиÑ�ло Ñ�е предÑ�тавÑ� по единÑ�твен начин като Ñ�ума на **различни**(не Ñ�е повтарÑ�Ñ‚) Ñ�тепени на двойката. -Въвежда Ñ�е еÑ�теÑ�твено чиÑ�ло n. Отпечатайте това разбиване на n. - -*Вход: 26, Изход: 2^1 + 2^3 + 2^4* - -*Вход: 15, Изход: 2^0 + 2^1 + 2^2 + 2^3* diff --git a/Sem. 05/Task 1.cpp b/Sem. 05/Task 1.cpp deleted file mode 100644 index 20ca708..0000000 --- a/Sem. 05/Task 1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include <iostream> -using namespace std; - -int main() -{ - unsigned int n; - cin >> n; - - //Ðåøåíèå 1: - bool isPrime1 = true; - for (int i = 2; i <= n - 1; i++) - { - if (n % i == 0) - isPrime1 = false; - } - cout << isPrime1 << endl; - // Ðåøåíèåòî ðàáîòè. Íî ïðàâè èçëèøíè ïðîâåðêè. Íå å íåîáõîäèìî äà òúðñèì äåëèòåë ÷àê äî n-1. - // Àêî íå íàìåðèì äåëèòåë îò êîðåí(n), òî íÿìà äà íàìåðèì è ñëåä êîðåíà. - - //Ðåøåíèå 2: - bool isPrime2 = true; - for (int i = 2; i <= sqrt(n); i++) - { - if (n % i == 0) - isPrime2 = false; - } - cout << isPrime2 << endl; - - // Ðåøåíèåòî ïàê ðàáîòè. Íî íà âñÿêà ïðîâåðêà i <= sqrt(n) ïðåñìÿòàìå êîðåí(n), êîåòî å î÷åâèäíî, ÷å å èçëèøíî. - // Ìîæå äà ãî ñìåòíåì âåäíúæ è ïîñëå äà ãî ïîëçâàìå. - - //Ðåøåíèå 3: - bool isPrime3 = true; - double temp = sqrt(n); - for (int i = 2; i <= temp; i++) - { - if (n % i == 0) - isPrime3 = false; - } - cout << isPrime3 << endl; - - // È òîâà ðåøåíèå äàâà âåðåí ðåçóëòàò. Íî îòíîâî å âúçìîæíî äà ïðàâè èçëèøíè ïðîâåðêè. - // Ïðè âúâåæäàíå íà ÷èñëîòî 2000000, î÷åâèäíî áè áèëî, ÷å ÷èñëîòî ÍÅ å ïðîñòî, ïîíåæå ñå äåëè íà 2. - // Íî íàøåòî ðåøåíèå ùå ïðîäúëæè äà òúðñè äåëèòåëè, äîðè ñëåä êàòî å âèäÿëî, ÷å èìà òàêúâ (â ñëó÷àÿ ÷èñëîòî 2). - - //Ôèíàëíî ðåøåíèå: - bool isPrime4 = true; - double temp2 = sqrt(n); - for (int i = 2; i <= temp2; i++) - { - if (n % i == 0) - { - isPrime4 = false; - break; - } - } - cout << isPrime4 << endl; -}
\ No newline at end of file diff --git a/Sem. 05/Task 2.cpp b/Sem. 05/Task 2.cpp deleted file mode 100644 index 0f4408d..0000000 --- a/Sem. 05/Task 2.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <iostream> -using namespace std; - -int main() -{ - unsigned int n; - cin >> n; - - for (int i = 2; n != 1; i++) //Âñè÷êè âúçìîæíè äåëèòåëè (ìíîæèòåëè) íà n 2,3,4,5,..., - { - // Ïðîâåðÿâàìå äàëè ÷èñëîòî å ïðîñòî (ïîíåæå íè èíòåðåñóâàò ñàìî ïðîñòè ìíîæèòåëè) - bool isPrime = true; - double temp = sqrt(i); - for (int j = 2; j <= temp; j++) - { - if (i % j == 0) - { - isPrime = false; - break; - } - } - - if (!isPrime) - continue; //Àêî íå å ïðîñòî - íå íè èíòåðåñóâà òîâà ÷èñëî. Ïðåìèíàâàìå êúì ñëåäâàùîòî. - - // Ùîì ñìå ñòèãíàëè òóê, ñìå óáåäåíè, ÷å i å ïðîñòî ÷èñëî. - // Èñêàìå äà âèäèì êîëêî ïúòè i äåëè n. - - int pow = 0; - while (n % i == 0) - { - n /= i; - pow++; - } - - if (pow != 0) //Àêî ïîíå âåäíúæ ãî å ðàçäåëèëî - çíà÷è ó÷àñòâà â ðàçáèâàíåòî íà ïðîñòè ìíîæèòåëè. - cout << i << "^" << pow << " "; - } -}
\ No newline at end of file diff --git a/Sem. 05/Task 3.cpp b/Sem. 05/Task 3.cpp deleted file mode 100644 index 6723ee2..0000000 --- a/Sem. 05/Task 3.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -using namespace std; - - -//Àëãîðèòúìúò çà ñúáèðàíå ñ 1 â äâîè÷åí çàïèñ: -//Îò äÿñíî íà ëÿâî - ïðàâèì âñè÷êè 1-öè íà 0, äîêàòî íå ñðåùíåì ïúðâàòà 0. -//Ïúðâàòà 0 ÿ ïðàâèì íà 1. - -// 101001111 + 1 -// 101010000 -int main() -{ - unsigned int n; - cin >> n; - - int mask = 1; //Íàé-äåñíèÿò áèò íà ìàñêàòà å 1-öà. Âñè÷êè äðóãè ñà 0-ëè. - - - while ((n & mask) > 0) //Ïðîâåðÿâàìå äàëè òåêóùèÿ áèò å 1-öà. (ïðè ïúðâîòî âëèçàíå, ïðîâåðÿâàìå íàé-äåñíèÿ) - { - n ^= mask; // Ïðàâèì ãî íà 0 ( n = n ^ mask) - mask <<= 1; // Îòìåñòâàìå ìàñêàòà, çà äà ïðîâåðèì áèò-à â ëÿâî. (mask = mask << 1) - } - - //Îòêðèëè ñìå ïúðâàòà 0. 1-öàòà å íà òî÷íàòà ïîçèöèÿ â ìàñêàòà. - n |= mask; // Ïðàâèì íà 1-öa (n = n | mask) -}
\ No newline at end of file diff --git a/Sem. 05/Task 4.cpp b/Sem. 05/Task 4.cpp deleted file mode 100644 index 6d57f92..0000000 --- a/Sem. 05/Task 4.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <iostream> -using namespace std; - -int main() -{ - unsigned int n, k; - cin >> n >> k; - - - //ИзпълнÑ�ваме k пъти Ñ�ъбирането на n Ñ� 1 - for (int i = 0; i < k; i++) - { - //Събираме n Ñ� 1-ца (кодът от миналата задача) - int mask = 1; - while ((n & mask) > 0) - { - n ^= mask; - mask <<= 1; - } - n |= mask; - } - cout << n << endl; -} diff --git a/Sem. 05/Task 5.cpp b/Sem. 05/Task 5.cpp deleted file mode 100644 index 6f3d0dd..0000000 --- a/Sem. 05/Task 5.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include <iostream> -using namespace std; - -int main() -{ - unsigned int n, k; - cin >> n >> k; - - //Ñìÿòà ìå n*k. n+n+n...+n (k ïúòè). - //Ã�ðèëà ãà ìå êîäà îò ïðåäèøÃà òà çà äà ÷à k ïúòè - - - int result = 0; - - //Събирането Ñ� n го правим k пъти. Т.е Ñ�тава точно n*k - for (int t = 0; t < k; t++) - { - - //Събирането Ñ� 1 го правим пъти. Т.е Ñ�тава +n - for (int i = 0; i < n; i++) - { - //Събираме n Ñ� 1. - int mask = 1; - while ((result & mask) > 0) - { - result ^= mask; - mask <<= 1; - } - result |= mask; - } - } - cout << result << endl; -} diff --git a/Sem. 05/Task 6.cpp b/Sem. 05/Task 6.cpp deleted file mode 100644 index 415cae4..0000000 --- a/Sem. 05/Task 6.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <iostream> -using namespace std; - -int main() -{ - unsigned int n; - cin >> n; - - int currentPosition = 0; - while (n != 0) - { - if (n % 2 == 1) //ПроверÑ�ваме поÑ�ледниÑ� бит дали е 1. - { - cout << "2^" << currentPosition << " "; - } - currentPosition++; - n >>= 1; // Премахваме поÑ�ледниÑ� бит и предпоÑ�ледниÑ� Ñ�тава поÑ�леден (n /=2); - } -} |
