The Algorithms logo
The Algorithms
AboutDonate
// Wikipedia for Harshad Number : https://en.wikipedia.org/wiki/Harshad_number

package Maths;

import java.util.Scanner;

public class HarshadNumber
{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number : ");
        long a = sc.nextLong();
        
        checkHarshadNumber(a);
    }

    /**
      * A function to check if a number is Harshad number or not
      *
      * @param a The number which should be checked 
      */
    public static void checkHarshadNumber (long a) {
        
        long b = a;
        int sum = 0;
        
        // this is just for showing the explanation else it's of no use you can ommit it
        int[] each = new int[Long.toString(a).length()];
        
        int c = 0;
        
        while (b > 0) {
            sum += b % 10;
            each[c] = (int)(b%10);
            b /= 10;
            c++;
        }
        
        if (a % sum == 0){
            System.out.println(a + " is a Harshad Number");
            
            // For you better explanation how is that a Harshad Number
            System.out.println("\nExplaination :");
            
            for (int i = each.length-1; i >=0; i--){
                System.out.print(each[i] + " ");
                if (i != 0) {
                    System.out.print("+ ");
                }
            }
            
            System.out.println("= " + sum);
            System.out.println(sum + " × " + (a / sum) + " = " + a);
        }
        
        else {
            System.out.println(a + " is not a Harshad Number");
        }
    }
}

HarshadNumber

K