Coders Packet

Check if a number is Magic or not in C++


This article aims to check whether a number is Magic (a number whose sum of digits is evaluated until the sum is found to be 1) or not, implemented in C++.

Hola Coders!

A magic number is a number whose sum of digits is evaluated again and again till the sum of the digits is found to be 1.

The steps to check the number are illustrated below:

1. Recursively, Add the digits of the number till we obtain a single-digit number.

2. Check the obtained single-digit number. If the obtained number is equal to 1 then it's a Magic number.

For example:

Consider the number 4321. After adding the digits, we get the sum as 4+3+2+1 = 10. Then on adding the digits again, we get the sum 1+0 = 1 . Hence, 4321 is a Magic number.

C++ Program

// Program to check if a number is Magic number.
using namespace std;

// Main Function
int main()
    int n;
    cout<<"Enter the Number to Check:  ";
    int t=n;
    int sum = 0;
    while (n > 0 || sum > 9)
        if (n == 0)
            n = sum;
            sum = 0;
        sum += n % 10;
        n /= 10;
    if(sum == 1)
        cout<<t<<" is a Magic Number"<<endl;
        cout<<t<<" is NOT a Magic Number"<<endl;
    return 0;

Happy Learning!

Download Complete Code


No comments yet