A Number is a Disarium number if the sum of the digits powered with their respective positions is equal to the number itself.
Example:
Given Number=135
135⇒1¹+3²+5³=1+9+125=135
so, 135 is Disarium Number.
Given Number=120
120⇒1¹+2²+0³=1+4+0=5
so, 120 is not a Disarium Number.
Problem statement:- Program to Find out all Disarium numbers present within a given range.
Data requirement:-
Input Data:- range1, range2
Output Data:- i, range1, range2
Additional Data:- num, c, rem, sum
Program in C
Here is the source code of the C Program to Find out all Disarium numbers present within a given range.
Code:
//Disarium Number in range
#include<stdio.h>
#include<math.h>
int main()
{
int range1,range2,i;
printf("Enter a range:");
scanf("%d %d",&range1,&range2);
printf("Disarium Numbers between %d and %d are: ",range1,range2);
for(i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=pow(rem,c);
num/=10;
c--;
}
if(sum==i)
printf("%d ",i);
}
}
#include<stdio.h>
#include<math.h>
int main()
{
int range1,range2,i;
printf("Enter a range:");
scanf("%d %d",&range1,&range2);
printf("Disarium Numbers between %d and %d are: ",range1,range2);
for(i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=pow(rem,c);
num/=10;
c--;
}
if(sum==i)
printf("%d ",i);
}
}
Input/Output:
Enter a range:1
100
Disarium Numbers between 1 and 100 are: 1 2 3 4 5 6 7 8 9 89
Program in C++
Here is the source code of the C++ Program to Find out all Disarium numbers present within a given range.
100
Disarium Numbers between 1 and 100 are: 1 2 3 4 5 6 7 8 9 89
Program in C++
Here is the source code of the C++ Program to Find out all Disarium numbers present within a given range.
Code:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int range1,range2,i;
cout<<"Enter a range:";
cin>>range1;
cin>>range2;
cout<<"Disarium numbers between "<<range1<<" and "<<range2<<" are: ";
for(i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=pow(rem,c);
num/=10;
c--;
}
if(sum==i)
cout<<i<<" ";
}
}
#include<cmath>
using namespace std;
int main()
{
int range1,range2,i;
cout<<"Enter a range:";
cin>>range1;
cin>>range2;
cout<<"Disarium numbers between "<<range1<<" and "<<range2<<" are: ";
for(i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=pow(rem,c);
num/=10;
c--;
}
if(sum==i)
cout<<i<<" ";
}
}
Input/Output:
Enter a range:100
300
Disarium Numbers between 100 and 300 are: 135 175
Program in Java
300
Disarium Numbers between 100 and 300 are: 135 175
Program in Java
Here is the source code of the Java Program to Find out all Disarium numbers present within a given range.
Code:
import java.util.Scanner;
public class FindDisariumNumbersInRange {
public static void main(String[] args) {
Scanner cs=new Scanner(System.in);
int range1,range2;
System.out.println("Enter a range:");
range1=cs.nextInt();
range2=cs.nextInt();
System.out.println("Disarium numbers between "+range1+" and "+range2+" are: ");
for(int i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=Math.pow(rem,c);
num/=10;
c--;
}
if(sum==i)
System.out.print(i+" ");
}
cs.close();
}
}
public class FindDisariumNumbersInRange {
public static void main(String[] args) {
Scanner cs=new Scanner(System.in);
int range1,range2;
System.out.println("Enter a range:");
range1=cs.nextInt();
range2=cs.nextInt();
System.out.println("Disarium numbers between "+range1+" and "+range2+" are: ");
for(int i=range1;i<=range2;i++)
{
int num=i,c=0;
while(num!=0)
{
num/=10;
c++;
}
num=i;
int sum=0;
while(num!=0)
{
int rem=num%10;
sum+=Math.pow(rem,c);
num/=10;
c--;
}
if(sum==i)
System.out.print(i+" ");
}
cs.close();
}
}
Input/Output:
Enter a range:
10
1000
Disarium numbers between 10 and 1000 are:
89 135 175 518 598
10
1000
Disarium numbers between 10 and 1000 are:
89 135 175 518 598
Program in Python
Here is the source code of the Program to Find out all Disarium numbers present within a given range.
Code:
import math
print("Enter a range:")
range1=int(input())
range2=int(input())
print("Disarium numbers between ",range1," and ",range2," are: ")
for i in range(range1,range2+1):
num =i
c = 0
while num != 0:
num //= 10
c += 1
num = i
sum = 0
while num != 0:
rem = num % 10
sum += math.pow(rem, c)
num //= 10
c -= 1
if sum == i:
print(i,end=" ")
print("Enter a range:")
range1=int(input())
range2=int(input())
print("Disarium numbers between ",range1," and ",range2," are: ")
for i in range(range1,range2+1):
num =i
c = 0
while num != 0:
num //= 10
c += 1
num = i
sum = 0
while num != 0:
rem = num % 10
sum += math.pow(rem, c)
num //= 10
c -= 1
if sum == i:
print(i,end=" ")
Input/Output:
Enter a range:
500
5000
Disarium numbers between 500 and 5000 are:
518 598 1306 1676 2427
More:-
500
5000
Disarium numbers between 500 and 5000 are:
518 598 1306 1676 2427
More:-
0 Comments
Please do not Enter any spam link in the comment box