# Program to find modulus of a number by concatenating n times in Python

PythonServer Side ProgrammingProgramming

Suppose we have a number A. We have to generate a large number X by concatenating A, n times in a row and find the value of X modulo m.

So, if the input is like A = 15 n = 3 m = 8, then the output will be 3, because the number x will be 151515, and 151515 mod 8 = 3.

To solve this, we will follow these steps −

• if A is same as 0, then
• return 0
• an:= A
• c:= number of digits in A
• c:= 10^c
• d:= c-1
• newmod := d*m
• val := (c ^ n mod newmod) -1
• val :=(val + newmod) mod newmod
• an :=(an * val) mod newmod
• return floor of (an / d)

## Example

Let us see the following implementation to get better understanding −

def solve(A, n, m):
if A == 0:
return 0
an=A
c=len(str(A))
c=10**c
d=c-1
newmod = d*m
val = pow(c,n,newmod)-1
val = (val+newmod) % newmod
an = (an*val) % newmod
return an // d

A = 15
n = 3
m = 8
print(solve(A, n, m))

## Input

15, 3, 8


## Output

3
Updated on 23-Oct-2021 08:31:57