Deserium Number
Last Updated :
09 May, 2022
Deserium Number: A number is said to be Deserium number if the sum of the digits of a number with respect to the power of from 1 to the number of digits is equal to the number itself is known as Deserium Number.
Examples :
Input : 135
Output : Yes
1^1 + 3^2 + 5^3 = 135
Input : 9
Output : Yes
9^1 = 9
Input : 125
Output : No
1^1+2^2+5^3 != 125
The idea is simple.
1) Count digits in given number.
2) Traverse from rightmost digit to leftmost and compute sum of powers.
3) If sum of powers is equal to given number, return true.
C++
#include <iostream>
#include <math.h>
using namespace std;
int countDigits( int n)
{
int c = 0;
do {
c++;
n = n / 10;
} while (n != 0);
return c;
}
bool isDeserium( int x)
{
int temp = x;
int p = countDigits(x);
int sum = 0;
while (x != 0) {
int digit = x % 10;
sum += pow (digit, p);
p--;
x = x / 10;
}
return (sum == temp);
}
int main()
{
int x = 135;
if (isDeserium(x))
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
|
Java
import java.util.Scanner;
class Deserium {
static int countDigits( int n)
{
int c = 0 ;
do {
c++;
n = n / 10 ;
} while (n != 0 );
return c;
}
static boolean isDeserium( int x)
{
int temp = x;
int p = countDigits(x);
int sum = 0 ;
while (x != 0 ) {
int digit = x % 10 ;
sum += Math.pow(digit, p);
p--;
x = x / 10 ;
}
return (sum == temp);
}
public static void main(String[] args)
{
int x = 135 ;
if (isDeserium(x))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
}
|
Python3
def countDigits(n):
c = 0
while (n ! = 0 ):
c + = 1
n = int ( n / 10 )
return c
def isDeserium(x):
temp = x
p = countDigits(x)
sum = 0
while (x ! = 0 ):
digit = int (x % 10 )
sum + = pow (digit, p)
p - = 1
x = int (x / 10 )
return ( sum = = temp)
x = 135
if (isDeserium(x)):
print ( "Yes" )
else :
print ( "No" )
|
C#
using System;
class Deserium {
static int countDigits( int n)
{
int c = 0;
do {
c++;
n = n / 10;
} while (n != 0);
return c;
}
static bool isDeserium( int x)
{
int temp = x;
int p = countDigits(x);
int sum = 0;
while (x != 0) {
int digit = x % 10;
sum += ( int )Math.Pow(digit, p);
p--;
x = x / 10;
}
return (sum == temp);
}
public static void Main()
{
int x = 135;
if (isDeserium(x))
Console.WriteLine( "Yes" );
else
Console.WriteLine( "No" );
}
}
|
PHP
<?php
function countDigits( $n )
{
$c = 0;
do
{
$c ++;
$n = $n / 10;
} while ( $n != 0);
return $c ;
}
function isDeserium( $x )
{
$temp = $x ;
$p = countDigits( $x );
$sum = 0;
while ( $x != 0)
{
$digit = $x % 10;
$sum += pow( $digit , $p );
$p --;
$x = $x / 10;
}
return ( $sum == $temp );
}
$x = 135;
if (isDeserium( $x ))
echo "No" ;
else
echo "Yes" ;
?>
|
Javascript
<script>
function countDigits(n)
{
let c = 0;
do
{
c++;
n = Math.floor(n / 10);
} while (n != 0);
return c;
}
function isDeserium(x)
{
let temp = x;
let p = countDigits(x);
let sum = 0;
while (x != 0)
{
let digit = x % 10;
sum += Math.floor(Math.pow(digit, p));
p--;
x = Math.floor(x / 10);
}
return (sum == temp);
}
let x = 135;
if (isDeserium(x))
document.write( "Yes" );
else
document.write( "No" );
</script>
|
Output :
Yes
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...