Как найти число Армстронга
Программирование

Как найти число Армстронга

Алгоритм нахождения числа Армстронга прост, но вы можете использовать его для решения многих других математических задач

Число Армстронга – это ключевое понятие в области шифрования и дешифрования для обеспечения безопасности данных

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

Но что такое число Армстронга и как его проверить?

Что такое номер Армстронга?

Число Армстронга – это число, сумма кубов цифр которого равна самому числу. Например, 153 – это число Армстронга. Если взять цифры числа 153 по отдельности и сложить их в куб:

(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)

Затем сложите результаты:

1 + 125 + 27

Вы получите 153, то же самое, что и исходное число

Алгоритм для нахождения числа Армстронга

Написание алгоритма – это первый шаг к реализации любой программы. Вы можете использовать алгоритм как ссылку для написания псевдокода, а затем реализовать его с помощью нужного вам языка программирования. Алгоритм дает вам точную серию инструкций, которым нужно следовать, что исключает логические ошибки и упрощает реализацию

Вот алгоритм, позволяющий определить, является ли число числом Армстронга или нет:

  1. Объявляем переменные sum, temp, n, r.
  2. Взять значение n у пользователя.
  3. Инициализируйте переменную sum в 0 и возьмите резервную копию n как temp = n.
  4. Повторите шаги 5 – 7, пока n > 0.
  5. r = n % 10.
  6. sum = sum + куб каждой цифры (r × r × r).
  7. n = n / 10.
  8. Если сумма равна temp, выведите на экран ‘Число – число Армстронга’.
  9. Иначе, вывести на экран ‘Число не является числом Армстронга’.

Псевдокод для реализации алгоритма Армстронга

Псевдокод может быть полезным шагом в разработке реализации алгоритма. Написание псевдокода помогает легко преобразовать его в код на любом языке программирования. Вот псевдокод для реализации числа Армстронга:

Программа Армстронга на языке Си

Просмотрите приведенный выше псевдокод и преобразуйте каждое утверждение в код на языке C

Начните с импорта stdio.h для выполнения операций ввода и вывода. Объявите главную функцию и начните реализовывать логику программы. Используйте n для хранения входного числа, r для хранения отдельных цифр числа, sum для хранения суммы кубов цифр и temp для хранения копии числа

Используйте функцию printf, чтобы попросить пользователя ввести число. Используйте функцию scanf, чтобы считать число и сохранить его в переменной n.%d – это спецификатор десятичного формата для ввода целого числа

Очистите все мусорные значения, инициализировав sum нулем, и возьмите резервную копию n в качестве temp

#include <stdio.h>

int main()
{
int n, r, sum, temp;
printf('Please enter a number: ');
scanf('%d', &n);
sum = 0; temp = n;

Объявите цикл while, который выполняется до тех пор, пока число не станет равно нулю или меньше. Внутри цикла находится трехэтапный процесс, который вы можете использовать в различных других задачах программирования. Эти три шага следующие:

  1. Получите отдельную цифру числа, взяв модуль числа, равный 10. Когда вы делите любое число на 10 как целое, остатком является сама последняя цифра. Например, при делении 153 на 10 целым числом получается 15, а модулем – 3.
  2. Когда у вас есть отдельная цифра, вы можете выполнить желаемую операцию. Чтобы найти число Армстронга, требуемой операцией является сумма кубов цифр числа. Возьмите куб цифры r и добавьте его к переменной суммы.
  3. Исключите последнюю цифру числа, разделив его на 10. При делении на 10 получается коэффициент, в данном случае 15.

while (n > 0) {
r = n % 10;
sum = sum + (r * r * r);
n = n / 10;
}

Проверьте, равна ли полученная сумма исходному числу. Если они равны, то число действительно является числом Армстронга, в противном случае – нет

if (temp == sum)
printf('Number is an Armstrong number
');
else
printf('Number is not an Armstrong number
');

return 0;
}

Другие применения общего алгоритма

Изменяя второй шаг трехшаговой логики, описанной выше, можно реализовать множество программ

1. Сумма, произведение цифр числа

Чтобы получить сумму цифр числа, просто замените строку на:

sum = sum + r;

Для произведения объявите переменную prod как 1 и замените сумму сложения символом умножения:

prod = prod * r;

2. Подсчет цифр числа

Для подсчета цифр числа достаточно инициализировать переменную count нулем, пропустить шаг 1 и увеличивать ее до тех пор, пока n не станет равным нулю. Реализация цикла будет выглядеть следующим образом:

while (n > 0) {
count++;
n = n / 10;
}

3. Обратная сторона числа, палиндромное число

Чтобы перевернуть число, инициализируйте переменную rev единицей и добавьте ее после умножения на десять:

rev = (rev * 10) + r;

Получив обратную сторону числа, сравните ее с копией исходного числа. Если обратное число равно самому числу, то это число – палиндром

4. Младшая и старшая цифры числа

Инициализируйте переменную min как девять и сравните ее с цифрой, извлеченной из первого шага, чтобы найти наименьшую цифру числа. Вы можете реализовать это как:

if (r < min) {
min = r;
}

Аналогично, инициализируйте переменную max нулем и сравните ее с извлеченной цифрой, чтобы найти самую большую цифру числа. Вы можете реализовать это как:

if (r > max) {
max = r;
}

Вот как можно найти наибольшую и наименьшую цифры числа

5. Специальные числа

Существует множество других чисел, которые можно вычислить подобно числу Армстронга. К ним относятся неоновое число, автоморфное число, число Кришнамурти, число Базза, идеальное число, дружественное число и двойное простое число

Программирование и математика

Математика широко используется в программировании. Двоичная математика является основой программирования, поскольку все программное обеспечение, которое вы используете сегодня, представляет собой комбинацию цифр ноль и один. Все данные, с которыми вы работаете, хранятся в двоичном формате. Линейная алгебра используется в приложениях машинного обучения, графовых алгоритмах, квантовых вычислениях и многом другом

Калькуляция, дискретная математика и статистика широко используются при решении задач и разработке алгоритмов. Математика улучшает ваши вычислительные навыки и является неотъемлемой частью программирования

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий