Write a Program in Java to input a number and check whether it is a Disarium Number or not.
Note: A number will be called DISARIUM if sum of its digits powered with their respective position is equal to the original number.
For example 135 is a DISARIUM
(Workings 11+32+53 = 135, some other DISARIUM are 89, 175, 518 etc)
(Workings 11+32+53 = 135, some other DISARIUM are 89, 175, 518 etc)
import
java.io.*;
class
Disarium
{
public
static
void
main(String[] args)
throws
IOException
{
BufferedReader br=
new
BufferedReader (
new
InputStreamReader(System.in));
System.out.print(
"Enter a number : "
);
int
n = Integer.parseInt(br.readLine());
int
copy = n, d =
0
, sum =
0
;
String s = Integer.toString(n);
//converting the number into a String
int
len = s.length();
//finding the length of the number i.e. no.of digits
while
(copy>
0
)
{
d = copy %
10
;
//extracting the last digit
sum = sum + (
int
)Math.pow(d,len);
len--;
copy = copy /
10
;
}
if
(sum == n)
System.out.println(n+
" is a Disarium Number."
);
else
System.out.println(n+
" is not a Disarium Number."
);
}
}
Output:
Enter a Number : 135
135 is a Disarium Number.
Enter a Number : 219
219 is not a Disarium Number.
Enter a Number : 89
89 is a Disarium Number.
No comments:
Post a Comment