Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Armstrongova številka je ključni koncept na področju šifriranja in dešifriranja za varnost podatkov.

Splošni koncept obdelave števk števila je temeljna tehnika. S tem pristopom lahko rešite številne naloge, kot je seštevanje števk, pridobivanje produkta števk, štetje števk in obračanje števila.

Toda kaj je Armstrongovo število in kako ga testirate?

Kaj je Armstrongova številka?

Armstrongovo število je število, katerega vsota kubov števk je enaka samemu številu. Na primer, 153 je Armstrongovo število. Če vzamete številke 153 posamezno in jih sestavite na kocke:

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

Nato dodajte rezultate:

1 + 125 + 27

Dobili boste 153, enako kot prvotno število.

Algoritem za iskanje Armstrongovega števila

Pisanje algoritma je prvi korak k izvajanju katerega koli programa. Algoritem lahko uporabite kot referenco za pisanje psevdokoda, nato pa ga implementirate z uporabo želenega programskega jezika. Algoritem vam poda natančen niz navodil, ki jim morate slediti, odpravlja logične napake in poenostavi izvajanje.

instagram viewer

Tukaj je algoritem za ugotavljanje, ali je številka Armstrongova ali ne:

  1. Deklarirajte spremenljivke sum, temp, n, r
  2. Vzemite vrednost n od uporabnika
  3. Inicializirajte spremenljivko sum na 0 in vzemite varnostno kopijo n kot temp = n
  4. Ponovite korake 5–7, medtem ko je n > 0
  5. r = n % 10
  6. vsota = vsota + kub vsake števke (r × r × r)
  7. n = n / 10
  8. Če je vsota enaka temp, prikaže "Število je Armstrongovo število"
  9. Drugače prikaži "Številka ni Armstrongova številka"

Psevdokoda za implementacijo Armstrongovega algoritma

Psevdokoda je lahko koristen korak pri načrtovanju implementacije algoritma. Pisanje psevdokoda vam pomaga, da ga preprosto pretvorite v kodo v katerem koli programskem jeziku. Tukaj je psevdokoda za implementacijo Armstrongove številke:

Armstrongov program v C

Upoštevajte zgornjo psevdokodo in pretvorite vsak stavek v kodo C.

Začnite z uvozom stdio.h za izvajanje vhodnih in izhodnih operacij. Razglasite glavni funkcijo in začnite izvajati logiko programa. Uporaba n za shranjevanje vnesene številke, r za shranjevanje posameznih števk številke, vsota za shranjevanje vsote kubov števk in temp za shranjevanje kopije številke.

Uporabi printf funkcijo, ki od uporabnika zahteva vnos številke. Uporabi scanf funkcijo za branje števila in shranjevanje v spremenljivko n. %d je specifikator decimalne oblike, ki sprejme celo število kot vhod.

Počistite morebitne smeti tako, da inicializirate vsoto kot nič in naredite varnostno kopijo n kot temp.

#vključi <stdio.h>

intglavni()
{
int n, r, vsota, temp;
printf("Vnesite številko: ");
scanf("%d", &n);
vsota = 0; temp = n;

Razglasi a medtem zanke, ki teče, dokler število ni nič ali manj. Znotraj zanke je postopek v treh korakih, ki ga lahko uporabite pri različnih drugih programskih nalogah. Ti trije koraki so:

  1. Dobite posamezno števko števila tako, da vzamete modul števila z 10. Ko poljubno število delite z 10 kot celoto, je ostanek sama zadnja številka. Na primer, ko 153 delite z 10, je rezultat celo število 15, modul pa 3.
  2. Ko imate posamezno številko, lahko izvedete želeno operacijo. Za iskanje Armstrongovega števila je želena operacija vsota kubov števk števila. Vzemite kub števke r in jo dodajte spremenljivki vsote.
  3. Odstranite zadnjo števko števila tako, da jo delite z 10. Ko delimo z 10, dobimo količnik, v tem primeru 15.
medtem (n > 0) {
r = n % 10;
vsota = vsota + (r * r * r);
n = n / 10;
}

Preverite, ali je dobljena vsota enaka prvotnemu številu. Če sta enaki, je število res Armstrongovo število, sicer pa ni.

če (temp == vsota)
printf("Število je Armstrongovo število\n");
drugače
printf("Število ni Armstrongovo število\n");

vrnitev0;
}

Druge aplikacije splošnega algoritma

Če spremenite drugi korak tristopenjske logike, prikazane zgoraj, lahko implementirate različne programe.

1. Vsota, zmnožek števk števila

Če želite dobiti vsoto števk števila, preprosto zamenjajte vrstico z:

vsota = vsota + r;

Za izdelek deklarirajte spremenljivko prod kot 1 in nadomestite dodano vsoto s simbolom za množenje:

prod = prod * r;

2. Število števk števila

Za šteti števke števila, preprosto inicializirajte spremenljivko count na nič, izpustite prvi korak in jo povečujte, dokler n ni enak nič. Izvedba zanke bo videti takole:

medtem (n > 0) {
štetje++;
n = n / 10;
}

3. Hrbtna stran številke, številka palindroma

Če želite obrniti število, inicializirajte spremenljivko rev na ena in jo dodajte po množenju z deset:

rev = (rev * 10) + r;

Ko dobite hrbtno stran številke, jo primerjajte s kopijo same izvirne številke. Če je obratno število enako številu samemu, je to število palindroma.

4. Najmanjša in največja cifra števila

Inicializirajte spremenljivko min kot devet in jo primerjajte s števko, pridobljeno iz prvega koraka, da poiščete najmanjšo števko števila. Izvedete ga lahko kot:

če (r < min) {
min = r;
}

Podobno inicializirajte spremenljivko max z ničlo in jo primerjajte z izvlečeno števko, da poiščete največjo števko števila. Izvedete ga lahko kot:

če (r > max) {
max = r;
}

Tako lahko najdete največjo in najmanjšo števko števila.

5. Posebne številke

Obstaja veliko drugih števil, kot je Armstrongovo število, ki jih lahko izračunate. Sem spadajo neonsko število, avtomorfno število, Krishnamurthyjevo število, Buzzovo število, popolno število, prijateljsko število in praštevilo dvojčka.

Programiranje in matematika

Matematika se pogosto uporablja v programiranju. Binarna matematika je jedro programiranja, saj je vsa programska oprema, ki jo danes uporabljate, kombinacija števk nič in ena. Vsi podatki, s katerimi delate, so shranjeni v binarni obliki. Linearna algebra se uporablja v aplikacijah za strojno učenje, algoritmih grafov, kvantnem računanju itd.

Računstvo, diskretna matematika in statistika se pogosto uporabljajo pri reševanju problemov in oblikovanju algoritmov. Matematika izboljša vaše računalniške sposobnosti in je bistveni del programiranja.