Рубрики
Без рубрики

Число Харшада в Python – Простая реализация

Привет! Сегодня давайте узнаем о числе Харшада. Мы бы поняли, что такое число, а затем реализовали программу, чтобы проверить, является ли число

Автор оригинала: Pankaj Kumar.

Привет! Сегодня давайте узнаем о числе Харшада. Мы бы поняли, что это за число, а затем реализовали программу, чтобы проверить, является ли число числом Харшада или нет.

Что такое число Харшада?

Число является числом Харшада, если исходное число делится на сумму его цифр.

Определение числа Харшада : abcd делится на (a+b+c+d).

Рекомендуемое чтение: Как проверить номер Армстронга в Python?

Примеры числа Харшада

Пример 1: 155

Сумма + 5 +

Но 155 не делится на 11. Следовательно, это число не является числом Харшада.

Пример 2: 156

Сумма + 5 +

Но 156 делится на 12. Следовательно, это число является числом Харшада.

Алгоритм проверки номера Харшада

Все шаги, связанные с проверкой, является ли номер номером Харшада или нет,:

  1. Считайте входной номер
  2. Сделайте копию номера, чтобы проверить результат позже.
  3. Создайте переменную результата ( установите значение 0 )
  4. Создайте цикл while, чтобы пройти через число цифра за цифрой.
  5. На каждой итерации увеличивайте результат на цифру
  6. Разделите копию числа на полученный результат.
  7. Если он делится идеально, то число является числом Харшада, в противном случае это не так.

Псевдокод для номера Харшада

В приведенном ниже коде показан псевдокод для проверки того, является ли число числом Харшада:

READ n
MAKE A COPY OF n
result=0
CHECK DIGIT BY DIGIT:
  WHILE n!=0
     GET CURRENT DIGIT : digit = n % 10
     UPDATE RESULT : result = result + digit
     TRIM THE LAST DIGIT : n = n / 10
  ENDWHILE

CHECK FOR HARSHAD NUMBER:
   IF COPY OF n % result == 0
      PRINT "HARSHAD NUMBER"
   ELSE
      PRINT "NOT A HARSHAD NUMBER"

Код для проверки номера Harshad в Python

Теперь, когда мы знаем, что такое номер Харшада и шаги по его реализации, давайте реализовывать проверку Харшада строка за строкой.

Создайте начальные переменные

Сначала мы берем ввод n и сохраняем копию ввода, чтобы независимо от того, насколько мы изменим исходное число, мы также инициализировали результат как 0.

Код для того же самого показан ниже:

n = input()
n=int(n)
copy_n=n
result = 0

Прохождение по номеру и обновление результата

Чтобы получить доступ к каждой цифре, мы берем модуль числа ( mod 10), чтобы извлечь последнюю цифру числа. Следующий шаг включает в себя обновление результата как суммы предыдущего результата и текущей цифры.

Последний и последний шаг, который мы делаем, – это делим число на 10, чтобы удалить последнюю цифру из числа. Тот же процесс повторяется до тех пор, пока в номере не останется больше цифр.

Код для того же самого показан ниже:

while(n!=0):
    digit = n%10
    result=result + digit
    n=int(n/10)

Проверка, является ли номер номером Харшада или нет

Последний шаг-проверить, делится ли копия числа, которое мы создали ранее, на вычисленный результат или нет. Код для того же самого показан ниже:

if(copy_n % result == 0):
    print("Harshad Number!")
else:
    print("Not an Harshad Number!")

Выходные образцы для кода

На данный момент я протестировал программу для двух входов. Оба выхода показаны ниже:

Номер 1: 156

156
Harshad Number!

Номер 2: 121

121
Not a Harshad Number!

Вывод

Поздравляю! Вы успешно узнали о номере Harshad и реализовали то же самое!

Но не останавливайтесь на достигнутом! Продолжайте читать и учиться!