Compruebe si la suma de la diferencia absoluta de los dígitos adyacentes es primo o no

Dado un número a N y la tarea es verificar si la suma de la diferencia absoluta del dígito adyacente es primo o no.

Ejemplos: 

Input: N = 142 
Output: Prime
Sum = |1-4| + |4-2| = 5 i.e. prime.

Input: N = 347
Output: Not prime 

Enfoque : encuentre la suma de la diferencia absoluta de los dígitos adyacentes y luego verifique si esa suma es prima o no. 
A continuación se muestra la implementación del enfoque anterior:  

C++

// C++ implementation of the above approach
#include<bits/stdc++.h>
 
using namespace std;
 
 
// Function to check for a prime number
bool Prime(int n){
 
    if( n == 1){
        return false;
            }
    for (int i=2;i*i<=n;i++){
        if (n % i == 0)
            return false;
                    }
    return true;
}
 
// Function to find the sum of array
bool checkSumPrime(string st){
    int summ = 0;
    for (int i=1;i<st.size();i++)
        summ+= abs(st[i-1]-st[i]);
 
    if(Prime(summ))
        return true;
    else
        return false;
}
 
// Driver code
int main(){
 
    int num = 142;
 
    string s= "142";
 
    if (checkSumPrime(s))
        cout<<"Prime\n";
    else
        cout<<"Not Prime\n";
 
return 0;
 
}

Java

// Java implementation of the above approach
import java.util.*;
 
class GFG
{
 
    // Function to check for a prime number
    static boolean Prime(int n)
    {
        if (n == 1)
            return false;
        for (int i = 2; i * i <= n; i++)
            if (n % i == 0)
                return false;
        return true;
    }
 
    // Function to find the sum of array
    static boolean checkSumPrime(String str)
    {
        int summ = 0;
        for (int i = 1; i < str.length(); i++)
            summ += Math.abs(str.charAt(i - 1) -
                             str.charAt(i));
 
        if (Prime(summ))
            return true;
        else
            return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        int num = 142;
        String str = "142";
        if (checkSumPrime(str))
            System.out.println("Prime");
        else
            System.out.println("Not Prime");
    }
}
 
// This code is contributed by
// sanjeev2552

Python3

# Python3 implementation of the above approach
import math as mt
 
# Function to check for a prime number
def Prime(n):
     
    if n == 1:
        return False
         
    for i in range(2, mt.ceil(mt.sqrt(n + 1))):
        if n % i == 0:
            return False
    return True
     
# Function to find the sum of array
def checkSumPrime(string):
    summ = 0
    for i in range(1, len(string)):
        summ += abs(int(string[i - 1]) -
                    int(string[i]))
         
    if Prime(summ):
        return True
    else:
        return False
 
# Driver code
num = 142
 
string = str(num)
 
s = [i for i in string]
 
if checkSumPrime(s):
    print("Prime")
else:
    print("Not Prime\n")
 
# This code is contributed by Mohit Kumar

C#

// C# implementation of the above approach
using System;
     
class GFG
{
 
    // Function to check for a prime number
    static bool Prime(int n)
    {
        if (n == 1)
            return false;
        for (int i = 2; i * i <= n; i++)
            if (n % i == 0)
                return false;
        return true;
    }
 
    // Function to find the sum of array
    static bool checkSumPrime(String str)
    {
        int summ = 0;
        for (int i = 1; i < str.Length; i++)
            summ += Math.Abs(str[i - 1] -
                             str[i]);
 
        if (Prime(summ))
            return true;
        else
            return false;
    }
 
    // Driver Code
    public static void Main(String[] args)
    {
        String str = "142";
        if (checkSumPrime(str))
            Console.WriteLine("Prime");
        else
            Console.WriteLine("Not Prime");
    }
}
 
// This code is contributed by Rajput-Ji

Javascript

<script>
 
// Javascript implementation of the above approach
 
// Function to check for a prime number
function Prime(n)
{
    if (n == 1)
        return false;
         
    for(let i = 2; i * i <= n; i++)
        if (n % i == 0)
            return false;
             
    return true;
}
 
// Function to find the sum of array
function checkSumPrime(str)
{
    let summ = 0;
    for(let i = 1; i < str.length; i++)
        summ += Math.abs(str[i - 1]-
                         str[i]);
 
    if (Prime(summ))
        return true;
    else
        return false;
}
 
// Driver Code
let num = 142;
let str = "142";
 
if (checkSumPrime(str))
    document.write("Prime");
else
    document.write("Not Prime");
     
// This code is contributed by unknown2108
 
</script>
Producción: 

Prime

 

Complejidad de tiempo: O(suma 1/2 ), donde la suma es la suma de los dígitos del número

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por mohit kumar 29 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 *