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

• Last Updated : 05 Sep, 2022

Given a number N, the task is to find the Remainremainderder 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;``}`

## C

 `// C implementation to find Remainder``// when a large Number is divided by R``#include ``#include ` `// Function to Return Remainder``int` `Remainder(``char` `str[], ``int` `R)``{``    ``// len is variable to store the``    ``// length of Number string.``    ``int` `len = ``strlen``(str);` `    ``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``    ``char` `str[] = ``"13589234356546756"``;` `    ``// Get the divisor R``    ``int` `R = 13;` `    ``// Find and print the remainder``    ``printf``(``"%d"``,Remainder(str, R));` `    ``return` `0;``}` `// This code is contributed by kothavvsaakash.`

## 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`

Complexity Analysis:

• Time Complexity: O(L) where L is the length of the string
• Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up