ICSE Program

A **double armstrong** number is a number that is equal to the sum of its digits where each digit is raised to the power of the number of digits in the number.

Eg:

153

370

371

407

1634

8208

9474

Explanation:

371 has 3 digits

Therefore,

9474 has 4 digits

Therefore,

Write a program in Java to determine if a number is a double armstrong number or not.

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 |
import java.util.*; public class DoubleArmstrong { public static void main() { Scanner sc = new Scanner(System.in); int n, c=0, d, s=0, copy; //Declaring Variables System.out.println("Enter a number: "); n = sc.nextInt(); //Input number copy = n; //Storing a copy value while(n>0) //Counting number of digits { c++; n = n/10; } n = copy; //Storing original value back in n while(n>0) //Extracting digits { d = n%10; n = n/10; s = s+(int)Math.pow(d, c); /*Adding the digits raised to the power of the number of digits and performing Type casting*/ } if(s==copy) //Checking if the sum matches the original number System.out.println("The number is a double armstrong number."); else System.out.println("The number is not a double armstrong number."); } } |

## Leave a Reply

You must be logged in to post a comment.