Related Articles

# Recursive sum of digits of a number is prime or not

• Difficulty Level : Easy
• Last Updated : 28 Apr, 2021

Given a number n, we need to find the sum of each digits of the number till the number becomes a single digit. We need to print “yes” if the sum is a prime or “no” if it is not prime.

Examples:

```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 ```

The idea is simple, we can quickly find recursive sum of digits.

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

Once, recursive sum is calculated, check if it is prime or not by simply checking if it is 2, 3, 5 or 7 (These are only single digit primes).

## C++

 `// CPP code to check if``// recursive sum of``// digits is prime or not.``#include``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

 ``

## Javascript

 ``

Output:

`No`

This article is contributed by Twinkle Bajaj. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.