Encuentre el valor de (n ^ 1 + n ^ 2 + n ^ 3 + n ^ 4) mod 5 para n dado

Tienes una función f(n) = (n 1 + n 2 + n 3 + n 4 ), tienes que encontrar el valor de f(n) mod 5 para cualquier valor dado de entero positivo n. 
Nota: n puede ser lo suficientemente grande, tal que f(n) > 10 18
Ejemplos: 
 

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.

En primer lugar, para resolver este enfoque, puede encontrar el valor de (n 1 + n 2 + n 3 + n 4 ) mod 5 directamente con la ayuda de cualquier función de potencia y operador de módulo. 
Pero para el valor más grande de n, su resultado será incorrecto porque para un valor de n grande de f (n) puede salirse del rango de long long int en ese caso, debe optar por otra forma eficiente. 
Para resolver esta pregunta, hagamos una pequeña derivación matemática para 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.

Después del análisis anterior, podemos ver que si n tiene la forma 5k+1 o, por ejemplo, 5k-4, entonces f(n) mod 5 = 4, de lo contrario f(n) = 0. 
IE if(n%5 == 1 ) resultado = 4, de 
lo contrario resultado = 0.
 

C++

// finding the value of f(n) mod 5 for given n.
#include <bits/stdc++.h>
using namespace std;
 
// function for f(n) mod 5
int fnMod(int n)
{
    // if n % 5 == 1 return 4
    if (n % 5 == 1)
        return 4;
 
    // else return 0
    else
        return 0;
}
 
// driver program
int main()
{
    int n = 10;
    cout << fnMod(n) << endl;
    n = 11;
    cout << fnMod(n) << endl;
    return 0;
}

Java

// Java code to finding the value
// of f(n) mod 5 for given n.
import java.io.*;
 
class GFG
{
    // function for f(n) mod 5
    static int fnMod(int n)
    {
        // if n % 5 == 1 return 4
        if (n % 5 == 1)
            return 4;
     
        // else return 0
        else
            return 0;
    }
     
    // Driver program
    public static void main (String[] args)
    {
        int n = 10;
        System.out.println(fnMod(n));
        n = 11;
        System.out.println(fnMod(n));
 
    }
}
 
// This code is contributed by vt_m.

Python3

# Python3 program to find the value
# of f(n) mod 5 for given n.
 
# Function for f(n) mod 5
def fnMod(n):
 
    # if n % 5 == 1 return 4
    if (n % 5 == 1):
        return 4
 
    # else return 0
    else:
        return 0
 
# Driver Code
n = 10
print(fnMod(n))
 
n = 11
print(fnMod(n))
 
# This code is contributed by Smitha Dinesh Semwal

C#

// Code for finding the value
// of f(n) mod 5 for given n.
using System;
 
class GFG {
    // function for f(n) mod 5
    static int fnMod(int n)
    {
        // if n % 5 == 1 return 4
        if (n % 5 == 1)
            return 4;
 
        // else return 0
        else
            return 0;
    }
 
    // Driver program
    public static void Main()
    {
        int n = 10;
        Console.WriteLine(fnMod(n));
        n = 11;
        Console.WriteLine(fnMod(n));
    }
}
 
// This code is contributed by vt_m.

PHP

<?php
// PHP program for finding the
// value of f(n) mod 5 for given n.
 
// function for f(n) mod 5
function fnMod($n)
{
    // if n % 5 == 1 return 4
    if ($n % 5 == 1)
        return 4;
 
    // else return 0
    else
        return 0;
}
 
// Driver Code
$n = 10;
echo fnMod($n),"\n";
$n = 11;
echo fnMod($n) ;
 
// This code is contributed by anuj_67.
?>

Javascript

<script>
// JavaScript program to finding the value
// of f(n) mod 5 for given n.
 
// function for f(n) mod 5
    function fnMod(n)
    {
     
        // if n % 5 == 1 return 4
        if (n % 5 == 1)
            return 4;
       
        // else return 0
        else
            return 0;
    }
  
// Driver Code
        let n = 10;
        document.write(fnMod(n) + "<br/>");
        n = 11;
        document.write(fnMod(n) + "<br/>");
                
        // This code is contributed by chinmoy1997pal.      
</script>

Producción : 
 

0
4

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *