Число Армстронга является ключевой концепцией в области шифрования и дешифрования для обеспечения безопасности данных.
Общая концепция обработки цифр числа является фундаментальной техникой. С помощью этого подхода вы можете решать многие задачи, такие как суммирование цифр, получение произведения цифр, подсчет цифр и обращение числа.
Но что такое число Армстронга и как его проверить?
Что такое число Армстронга?
Число Армстронга — это число, у которого сумма кубов его цифр равна самому числу. Например, 153 — это число Армстронга. Если взять цифры числа 153 по отдельности и возвести их в куб:
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Затем добавьте результаты:
1 + 125 + 27
Вы получите 153, то же самое, что и исходное число.
Алгоритм поиска числа Армстронга
Написание алгоритма — это первый шаг к реализации любой программы. Вы можете использовать алгоритм в качестве эталона для написания псевдокода, а затем реализовать его на желаемом языке программирования. Алгоритм дает вам точную серию инструкций, которые необходимо выполнять, устраняя логические ошибки и упрощая реализацию.
Вот алгоритм, чтобы определить, является ли число Армстронгом или нет:
- Объявить переменные sum, temp, n, r
- Взять значение n от пользователя
- Инициализируйте переменную sum равным 0 и сделайте резервную копию n как temp = n
- Повторите шаги 5–7, пока n > 0.
- г = п % 10
- сумма = сумма + куб каждой цифры (r × r × r)
- п = п / 10
- Если сумма равна temp, отобразите «Число является числом Армстронга».
- В противном случае отобразите «Число не является числом Армстронга».
Псевдокод для реализации алгоритма Армстронга
Псевдокод может быть полезным шагом при разработке реализации алгоритма. Написание псевдокода поможет вам легко преобразовать его в код на любом языке программирования. Вот псевдокод для реализации числа Армстронга:
Программа Армстронга на C
Обратите внимание на приведенный выше псевдокод и преобразуйте каждый оператор в код C.
Начните с импорта stdio.h выполнять операции ввода и вывода. Объявить основной функции и приступайте к реализации логики программы. Использовать н для сохранения введенного числа, р для хранения отдельных цифр номера, сумма хранить сумму кубов цифр и температура для хранения копии номера.
Использовать printf функция, которая попросит пользователя ввести число. Использовать сканф функция для чтения числа и сохранения его в переменной н. %d - спецификатор десятичного формата, который принимает целое число в качестве входных данных.
Удалите любое значение мусора, инициализировав сумму как ноль, и сделайте резервную копию n в качестве временной.
#включать <stdio.h>
интосновной()
{
инт n, r, сумма, темп;
printf("Пожалуйста, введите номер: ");
сканф("%d", &п);
сумма = 0; темп = п;
объявить пока цикл, который выполняется до тех пор, пока число не станет равным нулю или меньше. Внутри цикла находится трехэтапный процесс, который можно использовать в различных других задачах программирования. Три шага:
- Получите отдельную цифру числа, взяв модуль числа с 10. Когда вы делите любое число на 10 в целом, остаток — это сама последняя цифра. Например, при делении 153 на 10 целочисленный результат равен 15, а модуль равен 3.
- Когда у вас есть отдельная цифра, вы можете выполнить желаемую операцию. Чтобы найти число Армстронга, нужная операция - это сумма кубов цифр числа. Возьмите куб цифры r и добавьте его к переменной суммы.
- Удалите последнюю цифру числа, разделив его на 10. При делении на 10 получается частное, в данном случае 15.
пока (п > 0) {
г = п % 10;
сумма = сумма + (г * г * г);
п = п/10;
}
Проверить, равна ли полученная сумма исходному числу. Если они равны, число действительно является числом Армстронга, в противном случае — нет.
если (темп == сумма)
printf("Число является числом Армстронга\n");
еще
printf("Число не является числом Армстронга\n");
возвращаться0;
}
Другие приложения общего алгоритма
Изменив второй шаг трехшаговой логики, показанной выше, вы можете реализовать множество программ.
1. Сумма, произведение цифр числа
Чтобы получить сумму цифр числа, просто замените строку на:
сумма = сумма + г;
Для продукта объявите переменную prod как 1 и замените сумму сложения символом умножения:
продукт = продукт * г;
2. Количество цифр числа
К считать цифры числа, просто инициализируйте переменную count нулем, пропустите первый шаг и увеличивайте его до тех пор, пока n не станет равным нулю. Реализация цикла будет выглядеть так:
пока (п > 0) {
количество++;
п = п/10;
}
3. Реверс числа, число палиндрома
Чтобы изменить число, инициализируйте переменную rev единицей и добавьте ее после умножения на десять:
оборот = (об * 10) + г;
Получив обратную сторону числа, сравните его с копией самого исходного числа. Если обратное число равно самому числу, это число палиндрома.
4. Самая маленькая и самая большая цифра числа
Инициализируйте переменную min как девять и сравните ее с цифрой, извлеченной на первом шаге, чтобы найти наименьшую цифру числа. Вы можете реализовать это как:
если (р < мин) {
мин = г;
}
Точно так же инициализируйте переменную max нулем и сравните ее с извлеченной цифрой, чтобы найти наибольшую цифру числа. Вы можете реализовать это как:
если (р > Макс) {
макс = г;
}
Вот как вы можете найти самая большая и самая маленькая цифра числа.
5. Специальные номера
Есть много других чисел, таких как число Армстронга, которые вы можете вычислить. К ним относятся Неоновое число, Автоморфное число, Число Кришнамурти, Число Базза, Идеальное число, Дружественное число и Двойное простое число.
Программирование и математика
Математика широко используется в программировании. Двоичная математика является ядром программирования, поскольку все программное обеспечение, которое вы используете сегодня, представляет собой комбинацию цифр ноль и единица. Все данные, с которыми вы работаете, хранятся в двоичном формате. Линейная алгебра используется в приложениях машинного обучения, графовых алгоритмах, квантовых вычислениях и многом другом.
Исчисление, дискретная математика и статистика широко используются при решении задач и разработке алгоритмов. Математика улучшает ваши вычислительные навыки и является неотъемлемой частью программирования.