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

Номер диария в Python

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

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

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

Что такое номер дневника?

Число является числом диариума, если сумма каждой цифры, возведенной в степень их соответствующих позиций, равна исходному числу.

Определение числа Disarium : ^1 + b^2 + c^3 + d^4 + … . и так далее.

Рекомендуемое чтение: Реализация конвертера Цельсия в Фаренгейт в Python tkinter

Примеры номера диария

Пример 1: 153

Расчет (по цифрам^1 + 5^2 + + 25+

Выполненный расчет не равен исходному числу. Следовательно, это число не является числом диария.

Пример 2: 175

Расчет (по цифрам^1 + 7^2 + + 49 +

Выполненные вычисления непосредственно равны исходному числу. Следовательно, число-это число Диария.

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

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

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

Псевдокод для идентификации номера Диария

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

READ n
CALCULATE SIZE OF NUMBER len_n
MAKE A COPY OF n
result=0
CREATE AN ITERATOR i = len_n
CHECK DIGIT BY DIGIT:
  WHILE n!=0
     GET CURRENT DIGIT : digit = n % 10
     UPDATE RESULT : result = result + digit^(i)
     TRIM THE LAST DIGIT : n = n / 10
     DECREMENT i BY 1
  ENDWHILE

CHECK FOR DISARIUM NUMBER:
   IF result==COPY OF n
      PRINT "DISARIUM NUMBER"
   ELSE
      PRINT "NOT A DISARIUM NUMBER"

Реализация проверки номера Diarium в Python

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

1. Создайте исходные переменные

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

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

n = input()
len_n = len(n)
n=int(n)
copy_n=n
result = 0
i = len_n

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

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

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

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

while(n!=0):
    digit = n%10
    result=result+pow(digit,i)
    n=int(n/10)
    i = i - 1

3. Проверка, является ли номер номером Diarium или нет

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

if(result==copy_n):
    print("Disarium Number!")
else:
    print("Not an Disarium Number!")

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

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

Номер 1: 153

153
Not a Disarium Number!

Номер 2: 175

121
Disarium Number!

Вывод

Поздравляю! Вы успешно узнали о номере Diarium и реализовали то же самое в Python! Но не останавливайтесь на достигнутом! Продолжайте читать и учиться!

Рекомендуемое чтение: Как реализовать проверку возраста графического интерфейса в Python Tkinter?