Related Articles

# Program to find remainder when large number is divided by r

• Last Updated : 19 Mar, 2021

Given a Number N, the task is to find the Remainder when N is divided by R (a two digit Number). The input of the Number may be very large.
Examples:

```Input: N = 13589234356546756, R = 13
Output: 11

Input: N = 3435346456547566345436457867978, R = 17
Output: 13```
• Get the digit of N one by one from left to right.
• For each digit, combine with next digit if its less than R.
• If the combination at any point reaches above R, take and store the Remainder.
• Repeat the above steps for all digits from left to right.

Below is the program that implements the above approach:

## C++

 `// CPP implementation to find Remainder``// when a large Number is divided by R` `#include ``using` `namespace` `std;` `// Function to Return Remainder``int` `Remainder(string str, ``int` `R)``{``    ``// len is variable to store the``    ``// length of Number string.``    ``int` `len = str.length();` `    ``int` `Num, Rem = 0;` `    ``// loop that find Remainder``    ``for` `(``int` `i = 0; i < len; i++) {` `        ``Num = Rem * 10 + (str[i] - ``'0'``);``        ``Rem = Num % R;``    ``}` `    ``// Return the remainder``    ``return` `Rem;``}` `// Driver code``int` `main()``{` `    ``// Get the large number as string``    ``string str = ``"13589234356546756"``;` `    ``// Get the divisor R``    ``int` `R = 13;` `    ``// Find and print the remainder``    ``cout << Remainder(str, R);` `    ``return` `0;``}`

## Java

 `// Java implementation to find Remainder``// when a large Number is divided by R` `class` `GFG``{``    ``// Function to Return Remainder``    ``static` `int` `Remainder(String str, ``int` `R)``    ``{``        ``// len is variable to store the``        ``// length of Number string.``        ``int` `len = str.length();``    ` `        ``int` `Num, Rem = ``0``;``    ` `        ``// loop that find Remainder``        ``for` `(``int` `i = ``0``; i < len; i++) {``    ` `            ``Num = Rem * ``10` `+ (str.charAt(i) - ``'0'``);``            ``Rem = Num % R;``        ``}``    ` `        ``// Return the remainder``        ``return` `Rem;``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main( String [] args)``    ``{``    ` `        ``// Get the large number as string``        ``String str = ``"13589234356546756"``;``    ` `        ``// Get the divisor R``        ``int` `R = ``13``;``    ` `        ``// Find and print the remainder``        ``System.out.println(Remainder(str, R));``    ` `        ` `    ``}``}` `// This code is contributed``// by ihritik`

## Python 3

 `# Python 3 implementation to``# find Remainder when a large``# Number is divided by R` `# Function to Return Remainder``def` `Remainder(``str``, R):` `    ``# len is variable to store the``    ``# length of Number string.``    ``l ``=` `len``(``str``)` `    ``Rem ``=` `0` `    ``# loop that find Remainder``    ``for` `i ``in` `range``(l):` `        ``Num ``=` `Rem ``*` `10` `+` `(``ord``(``str``[i]) ``-``                          ``ord``(``'0'``))``        ``Rem ``=` `Num ``%` `R` `    ``# Return the remainder``    ``return` `Rem` `# Driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``# Get the large number``    ``# as string``    ``str` `=` `"13589234356546756"` `    ``# Get the divisor R``    ``R ``=` `13` `    ``# Find and print the remainder``    ``print``(Remainder(``str``, R))` `# This code is contributed``# by ChitraNayal`

## C#

 `// C# implementation to find``// Remainder when a large``// Number is divided by R``using` `System;` `class` `GFG``{``    ` `// Function to Return Remainder``static` `int` `Remainder(String str,``                     ``int` `R)``{``    ``// len is variable to store the``    ``// length of Number string.``    ``int` `len = str.Length;` `    ``int` `Num, Rem = 0;` `    ``// loop that find Remainder``    ``for` `(``int` `i = 0; i < len; i++)``    ``{``        ``Num = Rem * 10 + (str[i] - ``'0'``);``        ``Rem = Num % R;``    ``}` `    ``// Return the remainder``    ``return` `Rem;``}` `// Driver code``public` `static` `void` `Main()``{` `    ``// Get the large number as string``    ``String str = ``"13589234356546756"``;` `    ``// Get the divisor R``    ``int` `R = 13;` `    ``// Find and print the remainder``    ``Console.WriteLine(Remainder(str, R));``}``}` `// This code is contributed``// by Subhadeep`

## PHP

 `

## Javascript

 ``
Output:
`11`

Time Complexity: O(L ) where L is length of the string

Auxiliary Space: O(L )

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up