Program to find remainder when large number is divided by r

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP implementation to find Remainder
// when a large Number is divided by R
  
#include <bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation to find Remainder
// when a large Number is divided by R
  
// Function to Return Remainder
function Remainder($str, $R)
{
    // len is variable to store the
    // length of Number string.
    $len = strlen($str);
  
    $Num = 0; $Rem = 0;
  
    // loop that find Remainder
    for ($i = 0; $i < $len; $i++) 
    {
  
        $Num = $Rem * 10 + ($str[$i] - '0');
        $Rem = $Num % $R;
    }
  
    // Return the remainder
    return $Rem;
}
  
// Driver code
  
// Get the large number as string
$str = "13589234356546756";
  
// Get the divisor R
$R = 13;
  
// Find and print the remainder
echo Remainder($str, $R);
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


Output:

11


My Personal Notes arrow_drop_up

pawanasipugmailcom

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.