Find out all Magic numbers present within a given range

Magic Number:- A Number is a Magic Number when ((Sum of all digits from the given number) × (reverse of the sum of digits))=. Given Number.

Example:-

                1729
                sum of all digits=1+7+2+9=19 Reverse of the sum=91
                91×19=1729

Problem statement:- Program to find out all Magic numbers present within a given range.

Sample Input/Output:-

Sample Input First: 10
 200
                    
Sample Output First: 
145

Sample Input Second: 50 500000         Sample Output Second145 40585


Data requirement:-

   Input Data:- rangenumber

   Output Data:- rangenumber, letest

   Additional Data:- cnum, num1, flag, sqr 

Program in C

Here is the source code of the C Program to Find out all Magic numbers present within a given range.

Code:

#include<stdio.h>
int main()
{
    int range1,range2,i;
    printf("Enter a range:");
    scanf("%d %d",&range1,&range2);
    printf("Magic numbers between %d and %d are: ",range1,range2);
    for(i=range1;i<=range2;i++)
    {
    int num3=i;
    int num1=i;
    int sum=0,rem;

    //Sum of digit
    while(num1!=0)
    {
        rem=num1%10;
        sum+=rem;
        num1/=10;
    }
     //Reverse of sum
    int rev=0,num2=sum,rem2;

    while(num2!=0)
    {
        rem2=num2%10;
        rev=rev*10+rem2;
        num2/=10;
    }
   if(sum*rev==num3)
    printf("%d ",i);
}
}

Input/Output:
Enter a range:1
100
Magic numbers between 1 and 100 are: 1 81

Program in C++

Here is the source code of the C++ Program to Find out all Magic numbers present within a given range.

Code:

#include<iostream>
using namespace std;
int main()
{
    int range1,range2,i;
    cout<<"Enter a range:";
    cin>>range1;
    cin>>range2;
    cout<<"Magic numbers between "<<range1<<" and "<<range2<<" are: ";
    for(i=range1;i<=range2;i++)
    {
    int num3=i;
    int num1=i;
    int sum=0,rem;

    //Sum of digit
    while(num1!=0)
    {
        rem=num1%10;
        sum+=rem;
        num1/=10;
    }
     //Reverse of sum
    int rev=0,num2=sum,rem2;

    while(num2!=0)
    {
        rem2=num2%10;
        rev=rev*10+rem2;
        num2/=10;
    }
   if(sum*rev==num3)
    cout<<i<<" ";
}
}

Input/Output:
Enter a range:1
9000
Magic numbers between 1 and 9000 are: 1 81 1458 1729

Program in Java
  
Here is the source code of the Java Program to Find out all Magic numbers present within a given range.

Code:

import java.util.Scanner;
public class MagicNumbersInRange {

public static void main(String[] args) {
Scanner cs=new Scanner(System.in);
      int range1,range2,i;
      System.out.println("Enter a range:");
      range1=cs.nextInt();
      range2=cs.nextInt();
      System.out.println("Magic numbers between "+range1+" and "+range2+" are: ");
      for(i=range1;i<=range2;i++)
      {
      int num3=i;
      int num1=i;
      int sum=0,rem;

      //Sum of digit
      while(num1!=0)
      {
          rem=num1%10;
          sum+=rem;
          num1/=10;
      }
       //Reverse of sum
      int rev=0,num2=sum,rem2;

      while(num2!=0)
      {
          rem2=num2%10;
          rev=rev*10+rem2;
          num2/=10;
      }
     if(sum*rev==num3)
      System.out.print(i+" ");
      }
      cs.close();
}
}

Input/Output:
Enter a range:
100
1000000
Magic numbers between 100 and 1000000 are: 
1458 1729 

Program in Python
  
Here is the source code of the Python Program to Find out all Magic numbers present within a given range.

Code:

print("Enter a range:")
range1=int(input())
range2=int(input())
print("Magic numbers between ",range1," and ",range2," are: ")
for i in range(range1,range2+1):
    num3 = i
    num1 = i
    sum=0
# Sum of digit
    while num1 != 0:
        rem = num1 % 10
        sum += rem
        num1 //= 10
# Reverse of sum
    rev = 0
    num2 = sum
    while num2 != 0:
        rem2 = num2 % 10
        rev = rev * 10 + rem2
        num2 //= 10
    if sum*rev==num3:
        print(i,end=" ")

Input/Output:

Post a Comment

0 Comments