La suma recursiva de los dígitos de un número es primo o no

Dado un número n, necesitamos encontrar la suma de cada dígito del número hasta que el número se convierta en un solo dígito. Necesitamos imprimir «sí» si la suma es un número primo o «no» si no es un número primo. 

Ejemplos: 

Input : 5602
Output: No
Explanation:
Step 1- 5+6+0+2 = 13
Step 2- 1+3 = 4 
4 is not prime

Input : 56
Output : Yes
Explanation:
Step 1- 5+6 = 11
Step 2- 1+1 = 2 hence 2 is prime 

La idea es simple, podemos encontrar rápidamente la suma recursiva de dígitos .

int recDigSum(int n)
{
    if (n == 0) 
       return 0;
    return (n % 9 == 0) ? 9 : (n % 9);
}

Una vez que se calcula la suma recursiva, verifique si es primo o no simplemente verificando si es 2, 3, 5 o 7 (Estos son solo números primos de un solo dígito).

C++

// CPP code to check if
// recursive sum of
// digits is prime or not.
#include<iostream>
using namespace std;
 
// Function for recursive
// digit sum
int recDigSum(int n)
{
    if (n == 0)
        return 0;
    else
    {
        if (n % 9 == 0)
            return 9;
        else
            return n % 9;
    }
}
     
// function to check if prime
// or not the single digit
void check(int n)
{
    // calls function which
    // returns sum till
    // single digit
    n = recDigSum(n);
     
    // checking prime
    if (n == 2 or n == 3 or n == 5 or n == 7)
        cout << "Yes";
    else
        cout << "No";
}
 
// Driver code
int main()
{
   int n = 5602;
    check(n);
}
 
// This code is contributed by Shreyanshi.

Java

// java code to check if
// recursive sum of
// digits is prime or not.
import java.io.*;
 
class GFG
{
 
    // Function for recursive
    // digit sum
    static int recDigSum(int n)
    {
        if (n == 0)
            return 0;
        else
        {
            if (n % 9 == 0)
                return 9;
            else
                return n % 9;
        }
    }
         
    // function to check if prime
    // or not the single digit
    static void check(int n)
    {
        // calls function which
        // returns sum till
        // single digit
        n = recDigSum(n);
         
        // checking prime
        if (n == 2 || n == 3 || n == 5 || n == 7)
            System.out.println ( "Yes");
        else
            System.out.println("No");
    }
     
    // Driver code
    public static void main (String[] args)
    {
        int n = 5602;
        check(n);
     
    }
}
 
// This code is contributed by vt_m

Python

# Python code to check if recursive sum
# of digits is prime or not.
def recDigSum(n):
     
    if n == 0:
        return 0
    else:
        if n % 9 == 0:
            return 9
        else:
            return n % 9
     
# function to check if prime or not
# the single digit
def check(n):
     
    # calls function which returns sum
    # till single digit
    n = recDigSum(n)
     
    # checking prime
    if n == 2 or n == 3 or n == 5 or n == 7:
        print "Yes"
    else:
        print "No"
 
     
# driver code
n = 5602
check(n)

C#

// C# code to check if
// recursive sum of
// digits is prime or not.
using System;
 
class GFG
{
 
    // Function for recursive
    // digit sum
    static int recDigSum(int n)
    {
        if (n == 0)
            return 0;
        else
        {
            if (n % 9 == 0)
                return 9;
            else
                return n % 9;
        }
    }
         
    // function to check if prime
    // or not the single digit
    static void check(int n)
    {
        // calls function which
        // returns sum till
        // single digit
        n = recDigSum(n);
         
        // checking prime
        if (n == 2 || n == 3
            || n == 5 || n == 7)
            Console.WriteLine ( "Yes");
        else
            Console.WriteLine("No");
    }
     
    // Driver code
    public static void Main ()
    {
        int n = 5602;
        check(n);
     
    }
}
 
// This code is contributed by anuj_67.

PHP

<?php
// PHP code to check if
// recursive sum of
// digits is prime or not.
 
// Function for recursive
// digit sum
function recDigSum($n)
{
    if ($n == 0)
        return 0;
    else
    {
        if ($n % 9 == 0)
            return 9;
        else
            return $n % 9;
    }
}
     
// function to check if prime
// or not the single digit
function check( $n)
{
    // calls function which
    // returns sum till
    // single digit
    $n = recDigSum($n);
     
    // checking prime
    if ($n == 2 or $n == 3 or
        $n == 5 or $n == 7)
        echo "Yes";
    else
        echo "No";
}
 
// Driver code
$n = 5602;
check($n);
 
// This code is contributed by ajit.
?>

Javascript

<script>
 
// Javascript code to check if
// recursive sum of digits is
// prime or not.
 
// Function for recursive
// digit sum
function recDigSum(n)
{
    if (n == 0)
        return 0;
    else
    {
        if (n % 9 == 0)
            return 9;
        else
            return n % 9;
    }
}
       
// Function to check if prime
// or not the single digit
function check(n)
{
     
    // Calls function which
    // returns sum till
    // single digit
    n = recDigSum(n);
       
    // Checking prime
    if (n == 2 || n == 3 ||
        n == 5 || n == 7)
        document.write("Yes");
    else
        document.write("No");
}
 
// Driver code
let n = 5602;
 
check(n);
 
// This code is contributed by susmitakundugoaldanga
 
</script>

Producción: 

No

Este artículo es una contribución de Twinkle Bajaj . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *