Научитесь писать простую программу на Java, которая проверяет, является ли заданное число числом харшад или нет.
1. что такое число харшад
Число называется числом харшад(или числом нивен) — это целое число, которое делится на сумму своих цифр. То есть число MN делится на(M+N).
Например, рассмотрим следующий пример числа 40.
Данное число: 40
Сумма цифр: 4 + 0 = 4
Делится ли 40 на 4? Да. Так что 40 — это харшадское число.
Число, которое является числом харшад в любой системе счисления, называется числом all-harshad или числом all-Niven. Существует всего четыре числа all-harshad: 1, 2, 4 и 6.
2. Алгоритм определения числа харшад
Чтобы узнать, является ли заданное число харшадом или нет –
- Вычислите сумму всех цифр, присутствующих в числе.
- Разделите число на сумму цифр. Если число делится с остатком ноль, то число i делится нацело; в противном случае — нет.
3. Java-программа для поиска номера Харшада
public class Main{public static void main(String[] args) {System.out.println("20 is harshad number " + isHarshadNumber(20));System.out.println("12 is harshad number " + isHarshadNumber(12));System.out.println("42 is harshad number " + isHarshadNumber(42));System.out.println("13 is harshad number " + isHarshadNumber(13));System.out.println("19 is harshad number " + isHarshadNumber(19));System.out.println("25 is harshad number " + isHarshadNumber(25));}static boolean isHarshadNumber(int numberToCheck){int temp = numberToCheck;int sumOfDigits = 0;while(temp > 0) {long rem = temp % 10;sumOfDigits += rem;temp = temp / 10;}return numberToCheck % sumOfDigits == 0 ? true : false;}}
Вывод программы.
20 is harshad number true12 is harshad number true42 is harshad number true13 is harshad number false19 is harshad number false25 is harshad number false
Ссылка: Википедия