You are given a function f(n) = (n1 + n2 + n3 + n4), you have to find the value of f(n) mod 5 for any given value of positive integer n.
Note: n may be large enough, such that f(n) > 1018.
Input : n = 4 Output : 0 Explanation : f(4) = 4 + 16 + 64 + 256 = 330, f(4) mod 5 = 330 mod 5 = 0. Input : n = 1 Output : 4 Explanation : f(1) = 1 + 1 + 1 + 1 = 4, f(1) mod 5 = 4.
First of all for solving this approach you may find the value of (n1 + n2 + n3 + n4) mod 5 directly with the help of anypower function and modulo operator.
But For the larger value of n, your result will be wrong because for large n value of f(n) may go out of range from long long int in that case you have to opt some other efficient way.
To solve this question lets do some small mathematical derivation for f(n).
f(n) = (n1 + n2 + n3 + n4) = (n) (n+1) (n2+1) Now, for finding f(n) mod 5 we must take care of unit digit of f(n) only, also as f(n) mod 5 is dependent on n%5, (n+1)%5 & (n2+1)%5, if any of these three result in zero then our whole result is 0. So, if n = 5, 10, .. 5k then n mod 5 = 0 hence f(n) mod 5 = 0. if n = 4, 9, .., (5k-1) then (n+1) mod 5 = 0 hence f(n) mod 5 = 0. if n = 3, 8, 13..., (5k-2) f(n) mod 5 = (3 * 4 * 10) mod 5 = 0 if n = 2, 7, 12..., (5k-3) f(n) mod 5 = (2 * 3 * 5) mod 5 = 0. if n = 1, 6, 11..., (5k-4) f(n) mod 5 = (1 * 2 * 2) mod 5 = 4.
After above analysis we can see that if n is of form 5k+1 or say 5k-4 then f(n) mod 5 = 4, other wise f(n) = 0.
I.E. if(n%5 == 1 ) result = 4,
else result = 0.
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.
- Find value of (1^n + 2^n + 3^n + 4^n ) mod 5
- Find value of y mod (2 raised to power x)
- Value of the series (1^3 + 2^3 + 3^3 + ... + n^3) mod 4 for a given n
- Find power of power under mod of a prime
- Find (1^n + 2^n + 3^n + 4^n) mod 5 | Set 2
- Count number of solutions of x^2 = 1 (mod p) in given range
- How to compute mod of a big number?
- Divide two integers without using multiplication, division and mod operator | Set2
- Minimum steps to reach end from start by performing multiplication and mod operations with array elements
- Trick for modular division ( (x1 * x2 .... xn) / b ) mod (m)
- Find the maximum possible value of the minimum value of modified array
- Check if a given value can be reached from another value in a Circular Queue by K-length jumps
- Find minimum value of y for the given x values in Q queries from all the given set of lines
- Find the maximum value of Y for a given X from given set of lines
- Find the XOR of the elements in the given range [L, R] with the value K for a given set of queries
- Queries to increment array elements in a given range by a given value for a given number of times
- Find minimum number of coins that make a given value
- Find the missing value from the given equation a + b = c
- Find the value of max(f(x)) - min(f(x)) for a given F(x)
- Find number from given list for which value of the function is closest to A
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.
Improved By : vt_m