Armstrongo numeris yra pagrindinė duomenų saugumo šifravimo ir iššifravimo sąvoka.
Bendra skaičiaus skaitmenų apdorojimo koncepcija yra pagrindinė technika. Naudodami šį metodą galite išspręsti daugybę užduočių, pvz., susumuoti skaičius, gauti skaitmenų sandaugą, skaičiuoti skaitmenis ir apversti skaičių.
Bet kas yra Armstrongo skaičius ir kaip jį patikrinti?
Kas yra Armstrongo skaičius?
Armstrongo skaičius yra skaičius, kurio skaitmenų kubelių suma yra lygi pačiam skaičiui. Pavyzdžiui, 153 yra Armstrongo skaičius. Jei paimsite 153 skaičius atskirai ir supjaustysite juos kubeliu:
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Tada pridėkite rezultatus:
1 + 125 + 27
Gausite 153, tą patį kaip ir pradinis skaičius.
Algoritmas Armstrongo skaičiui rasti
Algoritmo rašymas yra pirmas žingsnis įgyvendinant bet kurią programą. Galite naudoti algoritmą kaip nuorodą, norėdami parašyti pseudokodą, tada įgyvendinti jį naudodami norimą programavimo kalbą. Algoritmas pateikia tikslias instrukcijas, kurių reikia laikytis, pašalindamas logikos klaidas ir supaprastindamas įgyvendinimą.
Štai algoritmas, kaip nustatyti, ar skaičius yra Armstrongas, ar ne:
- Deklaruoti kintamuosius suma, temp, n, r
- Paimkite n reikšmę iš vartotojo
- Kintamąją sumą inicijuokite į 0 ir paimkite atsarginę n kopiją, kai temp = n
- Pakartokite 5–7 veiksmus, kai n > 0
- r = n % 10
- suma = suma + kiekvieno skaitmens kubas (r × r × r)
- n = n / 10
- Jei suma lygi temp, parodykite "Skaičius yra Armstrongo skaičius".
- Kitu atveju parodykite „Skaičius nėra Armstrongo numeris“
Armstrongo algoritmo įgyvendinimo pseudokodas
Pseudokodas gali būti naudingas žingsnis kuriant algoritmo įgyvendinimą. Pseudokodo rašymas padeda lengvai konvertuoti jį į kodą bet kuria programavimo kalba. Štai Armstrongo numerio įgyvendinimo pseudokodas:
Armstrongo programa C
Stebėkite aukščiau pateiktą pseudokodą ir konvertuokite kiekvieną teiginį į C kodą.
Pradėkite nuo importavimo stdio.h atlikti įvesties ir išvesties operacijas. Paskelbti pagrindinis funkciją ir pradėti diegti programos logiką. Naudokite n išsaugoti įvesties numerį, r išsaugoti atskirus numerio skaitmenis, suma išsaugoti skaitmenų kubelių sumą ir temp išsaugoti numerio kopiją.
Naudoti printf funkcija paprašyti vartotojo įvesti skaičių. Naudoti scanf funkcija nuskaityti skaičių ir išsaugoti jį kintamajame n. %d yra dešimtainio formato specifikacija, norint įvesti sveikąjį skaičių.
Išvalykite bet kokią šiukšlių reikšmę inicijuodami sumą kaip nulį ir padarykite n atsarginę kopiją kaip temp.
#įtraukti <stdio.h>
tarptpagrindinis()
{
tarpt n, r, suma, temp;
printf("Įveskite numerį: ");
scanf("%d", &n);
suma = 0; temp = n;
Paskelbti a kol ciklas, kuris tęsiasi tol, kol skaičius yra nulis arba mažesnis. Ciklo viduje yra trijų žingsnių procesas, kurį galite naudoti atliekant įvairias kitas programavimo užduotis. Trys žingsniai yra šie:
- Gaukite atskirą skaičiaus skaitmenį, paimdami skaičiaus modulį su 10. Padalijus bet kurį skaičių iš 10, likusi dalis yra pats paskutinis skaitmuo. Pavyzdžiui, padalijus 153 iš 10, sveikasis skaičius yra 15, o modulis yra 3.
- Kai turėsite atskirą skaitmenį, galite atlikti norimą operaciją. Norint rasti Armstrongo skaičių, norima operacija yra skaičiaus skaitmenų kubelių suma. Paimkite skaitmens r kubą ir pridėkite jį prie sumos kintamojo.
- Pašalinkite paskutinį skaičiaus skaitmenį, padalydami jį iš 10. Dalydami iš 10, gausite koeficientą, šiuo atveju 15.
kol (n > 0) {
r = n % 10;
suma = suma + (r * r * r);
n = n/10;
}
Patikrinkite, ar gauta suma lygi pradiniam skaičiui. Jei jie yra lygūs, skaičius iš tikrųjų yra Armstrongo skaičius, kitu atveju jis nėra.
jei (temp == suma)
printf("Skaičius yra Armstrongo numeris\n");
Kitas
printf("Skaičius nėra Armstrongo numeris\n");
grąžinti0;
}
Kitos bendrojo algoritmo programos
Pakeitę antrąjį iš trijų žingsnių logikos, kaip parodyta aukščiau, galite įdiegti įvairias programas.
1. Suma, skaičiaus skaitmenų sandauga
Norėdami gauti skaičiaus skaitmenų sumą, tiesiog pakeiskite eilutę į:
suma = suma + r;
Produktui nurodykite kintamąjį prod kaip 1 ir pakeiskite sudėtinę sumą daugybos simboliu:
prod = prod * r;
2. Skaičių skaitmenų skaičius
Į suskaičiuoti skaičiaus skaitmenis, tiesiog inicijuokite kintamųjų skaičių iki nulio, praleiskite pirmąjį veiksmą ir padidinkite jį, kol n bus lygus nuliui. Ciklo įgyvendinimas atrodys taip:
kol (n > 0) {
skaičiuoti++;
n = n/10;
}
3. Reversas, palindromo skaičius
Norėdami pakeisti skaičių, inicijuokite kintamąjį apsukų skaičių į vieną ir pridėkite jį padauginę iš dešimties:
rev = (rev * 10) + r;
Kai gausite priešingą skaičių, palyginkite jį su paties originalaus numerio kopija. Jei atvirkštinis skaičius yra lygus pačiam skaičiui, tai yra palindromo skaičius.
4. Mažiausias ir didžiausias skaičiaus skaitmuo
Inicijuokite kintamąjį min kaip devynis ir palyginkite jį su skaitmeniu, gautu iš pirmojo veiksmo, kad surastumėte mažiausią skaičiaus skaitmenį. Galite tai įgyvendinti taip:
jei (r < min) {
min = r;
}
Panašiai inicijuokite kintamąjį max su nuliu ir palyginkite jį su ištrauktu skaitmeniu, kad rastumėte didžiausią skaičiaus skaitmenį. Galite tai įgyvendinti taip:
jei (r > max) {
maks = r;
}
Taip galite rasti didžiausi ir mažiausi skaičiaus skaitmenys.
5. Specialūs skaičiai
Yra daug kitų skaičių, pavyzdžiui, Armstrongo skaičius, kuriuos galite apskaičiuoti. Tai apima neoninį skaičių, automorfinį skaičių, Krišnamurčio skaičių, „Buzz“ skaičių, tobulą skaičių, draugišką skaičių ir pirminį dvigubą skaičių.
Programavimas ir matematika
Matematika plačiai naudojama programuojant. Dvejetainė matematika yra programavimo pagrindas, nes visa šiandien naudojama programinė įranga yra skaičių nulis ir vienas derinys. Visi duomenys, su kuriais dirbate, yra saugomi dvejetainiu formatu. Tiesinė algebra naudojama mašininio mokymosi programose, grafikų algoritmuose, kvantiniuose skaičiavimuose ir kt.
Skaičiavimas, diskretinė matematika ir statistika plačiai naudojami sprendžiant problemas ir kuriant algoritmus. Matematika pagerina jūsų skaičiavimo įgūdžius ir yra esminė programavimo dalis.