From 4a7501c35374464647ec082a7aff8373a77e1fc7 Mon Sep 17 00:00:00 2001 From: ronak5487 <20bee055@nith.ac.in> Date: Fri, 21 Oct 2022 00:16:37 +0530 Subject: [PATCH] c++ algorithms --- Ronak_program/Floyd.cpp | 77 +++++++++++++++++++++++++++++++++++++++ Ronak_program/Floyd.exe | Bin 0 -> 47702 bytes Ronak_program/Wilson.cpp | 38 +++++++++++++++++++ Ronak_program/Wilson.exe | Bin 0 -> 48772 bytes 4 files changed, 115 insertions(+) create mode 100644 Ronak_program/Floyd.cpp create mode 100644 Ronak_program/Floyd.exe create mode 100644 Ronak_program/Wilson.cpp create mode 100644 Ronak_program/Wilson.exe diff --git a/Ronak_program/Floyd.cpp b/Ronak_program/Floyd.cpp new file mode 100644 index 0000000..01d45ee --- /dev/null +++ b/Ronak_program/Floyd.cpp @@ -0,0 +1,77 @@ +// Floyd's algorithm to detect cyle in linked list +// c++ codecl + +#include +using namespace std; + +class Node +{ +public: + int data; + Node *next; + + Node(int data) + { + this->data = data; + next = NULL; + } +}; + +Node *head = NULL; +class Linkedlist +{ +public: + void insert(int value) + { + Node *newNode = new Node(value); + if (head == NULL) + head = newNode; + else + { + newNode->next = head; + head = newNode; + } + } + + bool detectLoop() + { + Node *slowPointer = head, + *fastPointer = head; + + while (slowPointer != NULL && fastPointer != NULL && fastPointer->next != NULL) + { + slowPointer = slowPointer->next; + fastPointer = fastPointer->next->next; + if (slowPointer == fastPointer) + return 1; + } + + return 0; + } +}; + +int main() +{ + // creating linked list + Linkedlist l1; + l1.insert(10); + l1.insert(20); + l1.insert(30); + l1.insert(40); + l1.insert(50); + + // creating loop in linked list + Node *temp = head; + while (temp->next != NULL) + temp = temp->next; + + temp->next = head; + + // determining whether cycle is present or not + if (l1.detectLoop()) + cout<<"Loop Found"<< endl; + else + cout<<"Loop does not exists"<< endl; + + return 0; +} diff --git a/Ronak_program/Floyd.exe b/Ronak_program/Floyd.exe new file mode 100644 index 0000000000000000000000000000000000000000..d1043618648bc4b3323b5ff7b3851cca3b6071dd GIT binary patch literal 47702 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 +#include + +int factorial_mod(int n, int p) { + int f = 1; + for (; n > 0 && f != 0; --n) + f = (f * n) % p; + return f; +} + +bool is_prime(int p) { + return p > 1 && factorial_mod(p - 1, p) == p - 1; +} + +int main() { + std::cout << " n | prime?\n------------\n"; + std::cout << std::boolalpha; + for (int p : {2, 3, 9, 15, 29, 37, 47, 57, 67, 77, 87, 97, 237, 409, 659}) + std::cout << std::setw(3) << p << " | " << is_prime(p) << '\n'; + + std::cout << "\nFirst 120 primes by Wilson's theorem:\n"; + int n = 0, p = 1; + for (; n < 120; ++p) { + if (is_prime(p)) + std::cout << std::setw(3) << p << (++n % 20 == 0 ? '\n' : ' '); + } + + std::cout << "\n1000th through 1015th primes:\n"; + for (int i = 0; n < 1015; ++p) { + if (is_prime(p)) { + if (++n >= 1000) + std::cout << std::setw(4) << p << (++i % 16 == 0 ? '\n' : ' '); + } + } +} \ No newline at end of file diff --git a/Ronak_program/Wilson.exe b/Ronak_program/Wilson.exe new file mode 100644 index 0000000000000000000000000000000000000000..9f34b29217c58bc15b0eafb3ddc34248dd0c65da GIT binary patch literal 48772 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 b4@l7ww!7E_Mb^frkv1JOv~i=U_sjn`D$z%x literal 0 HcmV?d00001