Given two integers A and B where A is not divisible by B, the task is to express A / B as a natural number modulo m where m = 1000000007.
Note: This representation is useful where we need to express Probability of an event, Area of Curves and polygons etc.
Input: A = 2, B = 6
Input: A = 4, B = 5
Approach: We know that, A / B can be written as A * (1 / B) i.e. A * (B ^ -1).
It is known that the modulo(%) operator satisfies the relation:
(a * b) % m = ( (a % m) * (b % m) ) % m
So, we can write:
(b ^ -1) % m = (b ^ m-2) % m (Fermat's little theorem)
Therefore the result will be:
( (A mod m) * ( power(B, m-2) % m) ) % m
Below is the implementation of the above approach:
- Find sum of modulo K of first N natural number
- Sum of the natural numbers (up to N) whose modulo with K yield R
- Expressing a number as sum of consecutive | Set 2 (Using odd factors)
- Find ΔX which is added to numerator and denominator both of fraction (a/b) to convert it to another fraction (c/d)
- Maximum rational number (or fraction) from an array
- Largest proper fraction with sum of numerator and denominator equal to a given number
- Number of factors of very large number N modulo M where M is any prime number
- Expressing factorial n as sum of consecutive numbers
- Fibonacci Number modulo M and Pisano Period
- Primitive root of a prime number n modulo n
- Find the number of primitive roots modulo prime
- Smallest number to be added in first Array modulo M to make frequencies of both Arrays equal
- Number of compositions of a natural number
- Find all divisors of a natural number | Set 2
- Find all divisors of a natural number | Set 1
- Find if given number is sum of first n natural numbers
- Find the Nth natural number which is not divisible by A
- Sum of all proper divisors of a natural number
- Number of pairs from the first N natural numbers whose sum is divisible by K
- Program to find the Nth natural number with exactly two bits set
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.