Algorithm and Flowchart to check whether a given number is magic number or not

[6795 views]




What are magic numbers?

A magic number is a number in which the sum of its digits when calculated recursively is equal to one. It is important to note that if a number is magic number, then all possible combinations of that number are also magic numbers.

For example:
Let us consider the number: 3214
Sum of the digits: 3+2+1+4 = 10 = 1+0 = 1
Therefore, 3214 is a magic number.
1234, 2143, 1432, etc. will also be magic numbers.

Let us consider another number: 524
Sum of the digits: 5+2+4 = 11 = 1+1 = 2
Therefore, 524 is not a magic number.

Now let’s take a look at the algorithm and flowchart to check whether a given number is a magic number or not, with the help of an algorithm and flowchart, for better understanding.

Algorithm to check whether a number is magic number or not:

Step 1: Start Step 2: Read the number to be checked as input from the user, say ‘n’ Step 3: Initialize sum = 0 Step 4: WHILE n > 9, Step 5: Do: 5.1: WHILE n > 0, 5.2: Do: 5.2.1: rem = n % 10 5.2.2: sum = sum + rem 5.2.3: n = n / 10 5.3: End WHILE 5.4: n = sum 5.5: sum = 0 Step 6: End WHILE Step 7: IF n = 1, THEN: 7.1: Print “Magic Number” Step 8: ELSE: 8.1: Print “Not Magic Number” Step 9: End IF-ELSE Step 10: Stop

Explanation:

To check whether a given number is a magic number or not, we have to calculate the sum of the digits of the number recursively, that is, we have to keep adding the digits of the number until we get the sum as a one-digit number. Once we calculate that, we need to check whether the final sum is equal to 1 or not.

We start this algorithm by taking the number to be checked as input from the user. Let us store it in a variable, say n. We then initialize the sum of digits as zero. To check whether the sum of digits is a one-digit number or not, we start a loop that will run until n is greater than 9. Inside this loop, we start another loop to calculate the sum of the digits of n. This loop runs until n is not equal to 0. We extract the last digit of n by doing: rem = n % 10. We then add this remainder to the sum. This remainder is removed from the original number.

This process continues until the sum of the digits, stored in n becomes a one-digit number. We then check whether n is equal to one or not. If this condition satisfies, we display that the number is a magic number. If not, we display that the number is not a magic number.

Flowchart to check whether a number is magic number or not:

Algorithm and Flowchart to check whether a given number is magic number or not
Remove WaterMark from Above Flowchart

                 



Want to Learn How to write own Algorithm and Flowcharts



Want to test your logical skills in Algorithms?



Comments










Search Anything:

Sponsored Deals ends in



Interesting Technical Quizzes:

Search Tags

    Magic Number Verification Pseudocode

    Algorithm for Verifying if number is Magic Number

    Flowchart for Magic Number