In the previous article, we have discussed Python Program for Array/List Elements that Appear More than Once
Given the number N, prime number k and the task is to find the square root of the given number under modulo k(When k is in form of 4*i + 3). Here i is an integer.
Examples:
Example1:
Input:
Given prime number k=5 Given Number = 4
Output:
The Square root of the given number{ 4 } under modulo k= 2
Example2:
Input:
Given prime number k=3 Given Number = 5
Output:
No, we cannot find the square root for a given number
Program to Find Square Root Under Modulo k (When k is in Form of 4*i + 3) in Python
Below are the ways to find the square root of the given number under modulo k (When k is in form of 4*i + 3) in python:
Method #1: Using For Loop (Static Input)
Approach:
- Give the prime number k as static input and store it in a variable.
- Give the number as static input and store it in another variable.
- Pass the given number and k as the arguments to the sqrt_undermodk function.
- Create a function to say sqrt_undermodk which takes the given number and k as the arguments and returns the square root of the given number under modulo k (When k is in form of 4*i + 3).
- Calculate the value of the given number modulus k and store it in the same variable given number.
- Loop from 2 to the given k value using the for loop.
- Multiply the iterator value with itself and store it in another variable.
- Check if the above result modulus k is equal to the given number using the if conditional statement.
- If it is true then print the iterator value.
- Return and exit the for loop.
- Print “No, we cannot find the square root for a given number”.
- The Exit of the Program.
Below is the implementation:
# Create a function to say sqrt_undermodk which takes the given number and k as # the arguments and returns the square root of the given number under modulo k # (When k is in form of 4*i + 3). def sqrt_undermodk(gvn_numb, k): # Calculate the value of the given number modulus k and store it in the same variable # given number. gvn_numb = gvn_numb % k # Loop from 2 to the given k value using the for loop. for itror in range(2, k): # Multiply the iterator value with itself and store it in another variable. mul = (itror * itror) # Check if the above result modulus k is equal to the given number using the if # conditional statement. if (mul % k == gvn_numb): # If it is true then print the iterator value. print( "The Square root of the given number{", gvn_numb, "} under modulo k=", itror) # Return and exit the for loop. return # Print "No, we cannot find the square root for a given number". print("No, we cannot find the square root for a given number") # Give the prime number k as static input and store it in a variable. k = 5 # Give the number as static input and store it in another variable. gvn_numb = 4 # Pass the given number and k as the arguments to the sqrt_undermodk function. sqrt_undermodk(gvn_numb, k)
Output:
The Square root of the given number{ 4 } under modulo k= 2
Method #2: Using For loop (User Input)
Approach:
- Give the prime number k as user input using the int(input()) function and store it in a variable.
- Give the number as user input using the int(input()) function and store it in another variable.
- Pass the given number and k as the arguments to the sqrt_undermodk function.
- Create a function to say sqrt_undermodk which takes the given number and k as the arguments and returns the square root of the given number under modulo k (When k is in form of 4*i + 3).
- Calculate the value of the given number modulus k and store it in the same variable given number.
- Loop from 2 to the given k value using the for loop.
- Multiply the iterator value with itself and store it in another variable.
- Check if the above result modulus k is equal to the given number using the if conditional statement.
- If it is true then print the iterator value.
- Return and exit the for loop.
- Print “No, we cannot find the square root for a given number”.
- The Exit of the Program.
Below is the implementation:
# Create a function to say sqrt_undermodk which takes the given number and k as # the arguments and returns the square root of the given number under modulo k # (When k is in form of 4*i + 3). def sqrt_undermodk(gvn_numb, k): # Calculate the value of the given number modulus k and store it in the same variable # given number. gvn_numb = gvn_numb % k # Loop from 2 to the given k value using the for loop. for itror in range(2, k): # Multiply the iterator value with itself and store it in another variable. mul = (itror * itror) # Check if the above result modulus k is equal to the given number using the if # conditional statement. if (mul % k == gvn_numb): # If it is true then print the iterator value. print( "The Square root of the given number{", gvn_numb, "} under modulo k=", itror) # Return and exit the for loop. return # Print "No, we cannot find the square root for a given number". print("No, we cannot find the square root for a given number") # Give the prime number k as user input using the int(input()) function and # store it in a variable. k = int(input("Enter some random number = ")) # Give the number as user input using the int(input()) function and # store it in another variable. gvn_numb = int(input("Enter some random number = ")) # Pass the given number and k as the arguments to the sqrt_undermodk function. sqrt_undermodk(gvn_numb, k)
Output:
Enter some random number = 7 Enter some random number = 2 The Square root of the given number{ 2 } under modulo k= 3
Find a comprehensive collection of Examples of Python Programs ranging from simple ones to complex ones to guide you throughout your coding journey.