Add check if a number is harshad Number or not (#2514)

This commit is contained in:
Krish
2021-10-11 16:29:22 +05:30
committed by GitHub
parent f336c40951
commit 9c7c53844b

60
Maths/HarshadNumber.java Normal file
View File

@ -0,0 +1,60 @@
// 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");
}
}
}