diff --git a/DSA/circular linklist b/DSA/circular linklist new file mode 100644 index 0000000..7965b4d --- /dev/null +++ b/DSA/circular linklist @@ -0,0 +1,54 @@ +class Node: + def __init__(self,data): + self.data = data; + self.next = None; + +class CreateList: + #Declaring head and tail pointer as null. + def __init__(self): + self.head = Node(None); + self.tail = Node(None); + self.head.next = self.tail; + self.tail.next = self.head; + + #This function will add the new node at the end of the list. + def add(self,data): + newNode = Node(data); + #Checks if the list is empty. + if self.head.data is None: + #If list is empty, both head and tail would point to new node. + self.head = newNode; + self.tail = newNode; + newNode.next = self.head; + else: + #tail will point to new node. + self.tail.next = newNode; + #New node will become new tail. + self.tail = newNode; + #Since, it is circular linked list tail will point to head. + self.tail.next = self.head; + + #Displays all the nodes in the list + def display(self): + current = self.head; + if self.head is None: + print("List is empty"); + return; + else: + print("Nodes of the circular linked list: "); + #Prints each node by incrementing pointer. + print(current.data), + while(current.next != self.head): + current = current.next; + print(current.data), + + +class CircularLinkedList: + cl = CreateList(); + #Adds data to the list + cl.add(1); + cl.add(2); + cl.add(3); + cl.add(4); + #Displays all the nodes present in the list + cl.display(); diff --git a/Recursion/lucky_Numbers using recursion.py b/Recursion/lucky_Numbers using recursion.py new file mode 100644 index 0000000..9e132e7 --- /dev/null +++ b/Recursion/lucky_Numbers using recursion.py @@ -0,0 +1,35 @@ +#problem statement +'''Lucky numbers are subset of integers.let us see the process of arriving at lucky numbers, +Take the set of integers +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,…… +First, delete every second number, we get following reduced set. +1, 3, 5, 7, 9, 11, 13, 15, 17, 19,………… +Now, delete every third number, we get +1, 3, 7, 9, 13, 15, 19,….…. +Continue this process indefinitely…… +Any number that does NOT get deleted due to above process is called “lucky”.''' +class Solution: + def lucky(self,n,i): + if(n%i==0): + return False + elif(n