mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-09 03:59:38 +08:00
Add check if a number is harshad Number or not (#2514)
This commit is contained in:
60
Maths/HarshadNumber.java
Normal file
60
Maths/HarshadNumber.java
Normal 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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user