-
Notifications
You must be signed in to change notification settings - Fork 64
Expand file tree
/
Copy patharmstrongNumber.java
More file actions
41 lines (38 loc) · 847 Bytes
/
armstrongNumber.java
File metadata and controls
41 lines (38 loc) · 847 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Program to determine whether the number is Armstrong number or not
public class Armstrong {
// Function to calculate x raised to the power y
int power(int x, long y) {
if( y == 0)
return 1;
if (y%2 == 0)
return power(x, y/2)*power(x, y/2);
return x*power(x, y/2)*power(x, y/2);
}
// Function to calculate order of the number
int order(int x) {
int n = 0;
while (x != 0) {
n++;
x = x/10;
}
return n;
}
boolean isArmstrong (int x) {
// Calling order function
int n = order(x);
int temp=x, sum=0;
while (temp!=0) {
int r = temp%10;
sum = sum + power(r,n);
temp = temp/10;
}
return (sum == x);
}
public static void main(String[] args) {
Armstrong ob = new Armstrong();
int x = 153;
System.out.println(ob.isArmstrong(x));
x = 1253;
System.out.println(ob.isArmstrong(x));
}
}