# Python Program to Count Pair in an Array or List whose Product is Divisible by K

Given a list, the task is to count the number of pairs in the given list whose product is divisible by k in Python.

Examples:

Example1:

Input:

Given list = [1, 15, 19, 2, 9, 6, 10, 12]
Given k=3

Output:

The total number of pairs are =  9

Example2:

Input:

Given list = 1 9 21 7 34 29 91 3 8 5
Given k=5

Output:

The total number of pairs are = 11

## Python Program to Count Pair in an Array or List whose Product is Divisible by K

Below are the ways to count the number of pairs in the given list whose product is divisible by k in Python.

Have you mastered basic programming topics of java and looking forward to mastering advanced topics in a java programming language? Go with these ultimate Advanced java programs examples with output & achieve your goal in improving java coding skills.

### Method #1: Using Nested For Loops (Static Input)

Approach:

• Give the list as static input and store it in a variable.
• Give the value of k as static input and store it in another variable.
• We will tackle this problem using two nested loops.
• Take a variable count which stores the count and initialize its value to 0.
• Calculate the length of the given list using the len() function.
• Iterate from 0 to the number of elements of the given list using For loop.
• Loop from m+1 to the number of elements of the given list using another For loop(Inner For loop) where m is the iterator value of the parent For loop.
• Check If (givenlist[m]*givenlist[m] %k == 0) using If conditional Statement where m is the iterator value of the parent For loop and n is the inner loop iterator value.
• If it is true then increment the count by 1.
• Print the count.
• The Exit of the Program.

Below is the implementation:

# Give the list as static input and store it in a variable.
givenlst = [1, 15, 19, 2, 9, 6, 10, 12]
# Give the value of k as static input and store it in another variable.
k = 3
# Take a variable count which stores the count and initialize its value to 0.
paircont = 0
# Calculate the length of the given list using the len() function.
listleng = len(givenlst)
# We will use two nested loops.
# Iterate from 0 to the number of elements of the given list using For loop.
for m in range(0, listleng):
# Loop from m+1 to the number of elements of the given list
# using another For loop(Inner For loop)
# where m is the iterator value of the parent For loop.
for n in range(m+1, listleng):
# Check If (givenlist[m]*givenlist[m] %k == 0) using If conditional Statement
# where m is the iterator value of the parent For loop
# and n is the inner loop iterator value.
if((givenlst[m]+givenlst[n]) % k == 0):
# If it is true then increment the count by 1.
paircont = paircont+1
# Print the count.
print('The total number of pairs are = ', paircont)


Output:

The total number of pairs are =  9

### Method #2: Using Nested For Loops (User Input)

Approach:

• Give the list as user input using list(),map(),input(),and split() functions.
• Store it in a variable.
• Give the value of k as user input using int(input()) and store it in another variable.
• We will tackle this problem using two nested loops.
• Take a variable count which stores the count and initialize its value to 0.
• Calculate the length of the given list using the len() function.
• Iterate from 0 to the number of elements of the given list using For loop.
• Loop from m+1 to the number of elements of the given list using another For loop(Inner For loop) where m is the iterator value of the parent For loop.
• Check If (givenlist[m]*givenlist[m] %k == 0) using If conditional Statement where m is the iterator value of the parent For loop and n is the inner loop iterator value.
• If it is true then increment the count by 1.
• Print the count.
• The Exit of the Program.

Below is the implementation:

# Give the list as user input using list(),map(),input(),and split() functions.
# Store it in a variable.
givenlst = list(
map(int, input('Enter some random List Elements separated by spaces = ').split()))
# Give the value of k as user input using int(input()) and store it in another variable.
k = int(input('Enter some random value of k = '))
# Take a variable count which stores the count and initialize its value to 0.
paircont = 0
# Calculate the length of the given list using the len() function.
listleng = len(givenlst)
# We will use two nested loops.
# Iterate from 0 to the number of elements of the given list using For loop.
for m in range(0, listleng):
# Loop from m+1 to the number of elements of the given list
# using another For loop(Inner For loop)
# where m is the iterator value of the parent For loop.
for n in range(m+1, listleng):
# Check If (givenlist[m]*givenlist[m] %k == 0) using If conditional Statement
# where m is the iterator value of the parent For loop
# and n is the inner loop iterator value.
if((givenlst[m]+givenlst[n]) % k == 0):
# If it is true then increment the count by 1.
paircont = paircont+1
# Print the count.
print('The total number of pairs are = ', paircont)


Output:

Enter some random List Elements separated by spaces = 1 9 21 7 34 29 91 3 8 5
Enter some random value of k = 5
The total number of pairs are = 11

Related Programs: