C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Program to print all Disarium numbers between 1 and 100
ExplanationIn this program, we need to display all Disarium number between 1 and 100. Disarium number A number is said to be a Disarium number when the sum of its digit raised to the power of their respective position is equal to the number itself. For example, 175 is a Disarium number as follows Formula11 + 72 + 53 = 1 + 49 + 125 = 175 Some of the other example of Disarium number are 89, 135, 518 etc. To find whether given number is Disarium or not, calculate the sum of digits powered with their respective positions. If the sum is equal to the original number then, the given number is Disarium number. Algorithm
SolutionPython
#calculateLength() will count the digits present in a number
def calculateLength(n):
length = 0;
while(n != 0):
length = length + 1;
n = n//10;
return length;
#sumOfDigits() will calculates the sum of digits powered with their respective position
def sumOfDigits(num):
rem = sum = 0;
len = calculateLength(num);
while(num > 0):
rem = num%10;
sum = sum + (rem**len);
num = num//10;
len = len - 1;
return sum;
result = 0;
#Displays all disarium numbers between 1 and 100
print("Disarium numbers between 1 and 100 are");
for i in range(1, 101):
result = sumOfDigits(i);
if(result == i):
print(i),
Output: Disarium numbers between 1 and 100 are 1 2 3 4 5 6 7 8 9 89 C
#include <stdio.h>
//calculateLength() will count the digits present in a number
int calculateLength(int n){
int length = 0;
while(n != 0){
length = length + 1;
n = n/10;
}
return length;
}
//sumOfDigits() will calculates the sum of digits powered with their respective position
int sumOfDigits(int num){
int sum = 0, rem = 0;
int len = calculateLength(num);
while(num > 0){
rem = num%10;
sum = sum + pow(rem,len);
num = num/10;
len--;
}
return sum;
}
int main()
{
int result = 0;
//Displays all disarium numbers between 1 and 100
printf("Disarium numbers between 1 and 100 are\n");
for(int i = 1; i <= 100; i++){
result = sumOfDigits(i);
if(result == i)
printf("%d ", i);
}
return 0;
}
Output: Disarium numbers between 1 and 100 are 1 2 3 4 5 6 7 8 9 89 JAVA
public class DisariumNumbers
{
//calculateLength() will count the digits present in a number
public static int calculateLength(int n){
int length = 0;
while(n != 0){
length = length + 1;
n = n/10;
}
return length;
}
//sumOfDigits() will calculates the sum of digits powered with their respective position
public static int sumOfDigits(int num){
int sum = 0, rem = 0;
int len = calculateLength(num);
while(num > 0){
rem = num%10;
sum = sum + (int)Math.pow(rem,len);
num = num/10;
len--;
}
return sum;
}
public static void main(String[] args) {
int result = 0;
//Displays all disarium numbers between 1 and 100
System.out.println("Disarium numbers between 1 and 100 are");
for(int i = 1; i <= 100; i++){
result = sumOfDigits(i);
if(result == i)
System.out.print(i + " ");
}
}
}
Output: Disarium numbers between 1 and 100 are 1 2 3 4 5 6 7 8 9 89 C#
using System;
public class DisariumNumbers
{
//calculateLength() will count the digits present in a number
public static int calculateLength(int n){
int length = 0;
while(n != 0){
length = length + 1;
n = n/10;
}
return length;
}
//sumOfDigits() will calculates the sum of digits powered with their respective position
public static int sumOfDigits(int num){
int sum = 0, rem = 0;
int len = calculateLength(num);
while(num > 0){
rem = num%10;
sum = sum + (int)Math.Pow(rem,len);
num = num/10;
len--;
}
return sum;
}
public static void Main()
{
int result = 0;
//Displays all disarium numbers between 1 and 100
Console.WriteLine("Disarium numbers between 1 and 100 are");
for(int i = 1; i <= 100; i++){
result = sumOfDigits(i);
if(result == i)
Console.Write(i + " ");
}
}
}
Output: Disarium numbers between 1 and 100 are 1 2 3 4 5 6 7 8 9 89 PHP
<!DOCTYPE html>
<html>
<body>
<?php
//calculateLength() will count the digits present in a number
function calculateLength($n){
$length = 0;
while($n != 0){
$length = $length + 1;
$n = intval($n/10);
}
return $length;
}
//sumOfDigits() will calculates the sum of digits powered with their respective position
function sumOfDigits($num){
$rem = $sum = 0;
$len = calculateLength($num);
while($num > 0){
$rem = $num%10;
$sum = $sum + pow($rem,$len);
$num = intval($num/10);
$len--;
}
return $sum;
}
$result = 0;
//Displays all disarium numbers between 1 and 100
print("Disarium numbers between 1 and 100 are <br>");
for($i = 1; $i <= 100; $i++){
$result = sumOfDigits($i);
if($result == $i)
print($i . " ");
}
?>
</body>
</html>
Output: Disarium numbers between 1 and 100 are 1 2 3 4 5 6 7 8 9 89
Next Topic#
|