Армстронгов број је кључни концепт у области шифровања и дешифровања за безбедност података.
Општи концепт обраде цифара броја је основна техника. Овим приступом можете решити многе задатке, као што је сабирање цифара, добијање производа цифара, бројање цифара и преокретање броја.
Али шта је Армстронгов број и како се тестира за један?
Шта је Армстронгов број?
Армстронгов број је број чији је збир кубова његових цифара једнак самом броју. На пример, 153 је Армстронгов број. Ако узмете цифре од 153 појединачно и коцкирате их:
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Затим додајте резултате:
1 + 125 + 27
Добићете 153, исто као и оригинални број.
Алгоритам за проналажење Армстронговог броја
Писање алгоритма је први корак ка имплементацији било ког програма. Можете користити алгоритам као референцу за писање псеудокода, а затим га имплементирати користећи жељени програмски језик. Алгоритам вам даје тачан низ инструкција које треба да пратите, елиминишући логичке грешке и чинећи имплементацију једноставнијом.
Ево алгоритма за проналажење да ли је број Армстронг или не:
- Декларисати променљиве сум, темп, н, р
- Узмите вредност н од корисника
- Иницијализујте суму променљиве на 0 и направите резервну копију н као темп = н
- Поновите кораке 5 - 7 док је н > 0
- р = н % 10
- збир = збир + коцка сваке цифре (р × р × р)
- н = н / 10
- Ако је збир једнак темп, прикажите „Број је Армстронгов број“
- У супротном, прикажите „Број није Армстронгов број“
Псеудокод за имплементацију Армстронговог алгоритма
Псеудокод може бити користан корак у дизајнирању имплементације алгоритма. Писање псеудокода вам помаже да га лако претворите у код на било ком програмском језику. Ево псеудокода за имплементацију Армстронговог броја:
Армстронгов програм у Ц
Посматрајте горњи псеудокод и конвертујте сваку наредбу у Ц код.
Почните са увозом стдио.х за обављање улазних и излазних операција. Изјавите главни функционишу и почну да имплементирају логику програма. Користите н да сачувате улазни број, р за чување појединачних цифара броја, сум да ускладишти збир кубова цифара, и темп да сачувате копију броја.
Користити принтф функција која тражи од корисника да унесе број. Користити сцанф функција за читање броја и складиштење у променљивој н. %д је спецификација децималног формата за узимање целог броја као улаза.
Очистите сваку вредност смећа тако што ћете иницијализовати суму као нулу и направити резервну копију н као темп.
#инцлуде <стдио.х>
интглавни()
{
инт н, р, сума, темп;
принтф("Унесите број: ");
сцанф("%д", &н);
сума = 0; темп = н;
Изјавити а док петља која траје све док број није нула или мањи. Унутар петље је процес у три корака који можете користити у разним другим програмским задацима. Три корака су:
- Добијте појединачну цифру броја узимајући модул броја са 10. Када поделите било који број са 10 као целину, остатак је сама последња цифра. На пример, када поделите 153 са 10, целобројни резултат је 15, а модул је 3.
- Када имате појединачну цифру, можете извршити жељену операцију. Да бисте пронашли Армстронгов број, жељена операција је збир коцки цифара броја. Узмите коцку цифре р и додајте је променљивој збира.
- Елиминишите последњу цифру броја тако што ћете је поделити са 10. Дељењем са 10 добијате количник, у овом случају, 15.
док (н > 0) {
р = н % 10;
сума = сума + (р * р * р);
н = н / 10;
}
Проверите да ли је добијени збир једнак првобитном броју. Ако су једнаки, број је заиста Армстронгов број, у супротном није.
ако (темп == збир)
принтф("Број је Армстронгов број\н");
друго
принтф("Број није Армстронгов број\н");
повратак0;
}
Друге примене општег алгоритма
Променом другог корака логике од три корака приказане изнад, можете имплементирати различите програме.
1. Збир, производ цифара броја
Да бисте добили збир цифара броја, једноставно замените ред са:
сума = сума + р;
За производ, прогласите променљиву прод као 1 и замените збир сабирања симболом множења:
прод = прод * р;
2. Број цифара броја
До броји цифре броја, једноставно иницијализујте број променљиве на нулу, изоставите први корак и повећајте га док н не буде једнако нули. Имплементација петље ће изгледати овако:
док (н > 0) {
цоунт++;
н = н / 10;
}
3. Реверс броја, палиндромски број
Да бисте обрнули број, иницијализујте променљиву рев на један и додајте је након множења са десет:
рев = (рев * 10) + р;
Када добијете реверс броја, упоредите га са копијом самог оригиналног броја. Ако је обрнути број једнак самом броју, то је палиндромски број.
4. Најмања и највећа цифра броја
Иницијализујте променљиву мин као девет и упоредите је са цифром извађеном из првог корака да бисте пронашли најмању цифру броја. Можете га имплементирати као:
ако (р < мин) {
мин = р;
}
Слично томе, иницијализујте променљиву мак са нулом и упоредите је са издвојеном цифром да бисте пронашли највећу цифру броја. Можете га имплементирати као:
ако (р > мак) {
мак = р;
}
Овако можете пронаћи највећа и најмања цифра броја.
5. Посебни бројеви
Постоји много других бројева, попут Армстронговог броја, које можете израчунати. То укључује Неонски број, Аутоморфни број, Кришнамуртијев број, Бузз број, Савршени број, Пријатељски број и прост број Твин.
Програмирање и математика
Математика се широко користи у програмирању. Бинарна математика је срж програмирања јер је сав софтвер који данас користите комбинација цифара нула и један. Сви подаци са којима радите се чувају у бинарном формату. Линеарна алгебра се користи у апликацијама за машинско учење, алгоритмима графова, квантном прорачуну и још много тога.
Рачун, дискретна математика и статистика се широко користе у решавању проблема и дизајну алгоритама. Математика побољшава ваше рачунарске вештине и представља суштински део програмирања.