Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 05
diff options
context:
space:
mode:
Commit55fc7eb3bba83f4084b2f897c61d0280a5f9c097 (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2021-10-02 17:44:35 +0300
Committer
 angeld55 <angel_dimitriev@abv.bg>
2021-10-02 17:44:35 +0300
Files85d32a9a73f85c54162f9233f36a054ebe0de212 /Sem. 05
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar.gz
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.zip
Parent7f51b56297270d4a1f808bc73d082b71418a2fe0 (diff)
new
7 files changed, 0 insertions, 217 deletions
-rw-r--r--Sem. 05/README.md18
-rw-r--r--Sem. 05/Task 1.cpp58
-rw-r--r--Sem. 05/Task 2.cpp39
-rw-r--r--Sem. 05/Task 3.cpp27
-rw-r--r--Sem. 05/Task 4.cpp23
-rw-r--r--Sem. 05/Task 5.cpp33
-rw-r--r--Sem. 05/Task 6.cpp19
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);
- }
-}