InterviewSolution
| 1. |
Design a class ArmNum to check if a given number is an Armstrong number or not. [A number is said to be Armstrong if sum of its digits raised to the power of length of the number is equal to the numberExample: 371 = 33 + 73 + 13 1634 = 14 + 64 + 34 + 44 54748 = 55 + 45 + 75 + 45 + 85Thus, 371, 1634 and 54748 are all examples of Armstrong numbers. Some of the members of the class are given below: Class name: ArmNum Data members/instance variables: n: to store the number 1: to store the length of the number Methods/Member functions:ArmNum (int nn): parameterized constructor to initialize the data member n = nn int sum_pow(int i): returns the sum of each digit raised to the power of the length of the number using recursive technique eg., 34 will return 32 + 42 (as the length of the number is 2) void isArmstrong(): checks whether the given number is an Armstrong number by invoking the function sum_pow () and displays the result with an appropriate message.Specify the class ArmNum giving details of the constructor( ), int sum_pow(int) and void isArmstrong( ). Define a main() function to create an object and call the functions accordingly to enable the task. |
|
Answer» import java.io.*; import javautil.*; class ArmNum { private int n; private int 1; public ArmNum(int num) { n = num; i = 0; for(int i = n; i! = 0; i/= 10) i++; } public int sumPow(int i) { if(i < 10) return (int)Math.pow(i, 1); return (int)Math.pow(i % 10, 1) + sumPow(i/10); } public void isArmstrong() { if(n == sumPow(n)) System.out.println(n+" is an Armstrong number."); else System.out.println(n+ " is not an Armstrong number."); } public static void main(String args[])throws IOException{ Scanner sc = new Scanner(System.in); System.out.print("N ="); int num = sc.nextInt(); ArmNum obj = new ArmNum(num); obj.isArmstrong(); } } |
|