Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 05 / Task 1.cpp
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/Task 1.cpp
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar.gz
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.zip
Parent7f51b56297270d4a1f808bc73d082b71418a2fe0 (diff)
new
1 files changed, 0 insertions, 58 deletions
-rw-r--r--Sem. 05/Task 1.cpp58
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