Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

Armstrongi number on andmete turvalisuse krüptimise ja dekrüpteerimise valdkonna võtmekontseptsioon.

Arvu numbrite töötlemise üldkontseptsioon on põhitehnika. Selle lähenemisviisiga saate lahendada paljusid ülesandeid, nagu numbrite summeerimine, numbrite korrutise saamine, numbrite loendamine ja arvude ümberpööramine.

Aga mis on Armstrongi number ja kuidas seda testida?

Mis on Armstrongi number?

Armstrongi arv on arv, mille numbrite kuubikute summa võrdub arvu endaga. Näiteks 153 on Armstrongi number. Kui võtate numbrid 153 eraldi ja kuubite need:

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

Seejärel lisage tulemused:

1 + 125 + 27

Saate 153, mis on sama, mis algne number.

Algoritm Armstrongi numbri leidmiseks

Algoritmi kirjutamine on esimene samm mis tahes programmi rakendamisel. Algoritmi saate kasutada viitena pseudokoodi kirjutamiseks ja seejärel rakendada seda soovitud programmeerimiskeeles. Algoritm annab teile täpsed juhised, mida järgida, kõrvaldades loogikavead ja muutes rakendamise lihtsamaks.

instagram viewer

Siin on algoritm, mille abil saate teada, kas number on Armstrongi või mitte.

  1. Deklareerida muutujad summa, temp, n, r
  2. Võtke kasutajalt n väärtus
  3. Initsialiseerige muutuja summa väärtuseks 0 ja varundage n, kui temp = n
  4. Korrake samme 5–7, kui n > 0
  5. r = n % 10
  6. summa = summa + iga numbri kuup (r × r × r)
  7. n = n/10
  8. Kui summa on võrdne temp, kuvage "Arv on Armstrongi arv".
  9. Muul juhul kuvage "Number ei ole Armstrongi number"

Armstrongi algoritmi rakendamise pseudokood

Pseudokood võib olla kasulik samm algoritmi rakendamise kavandamisel. Pseudokoodi kirjutamine aitab teil seda hõlpsalt koodiks teisendada mis tahes programmeerimiskeeles. Siin on Armstrongi numbri rakendamise pseudokood:

Armstrongi programm C-s

Jälgige ülaltoodud pseudokoodi ja teisendage iga lause C-koodiks.

Alusta importimisega stdio.h sisend- ja väljundtoimingute tegemiseks. Deklareerige peamine funktsiooni ja alustage programmi loogika rakendamist. Kasutage n sisendnumbri salvestamiseks, r numbri üksikute numbrite salvestamiseks, summa numbrite kuubikute summa salvestamiseks ja temp numbri koopia salvestamiseks.

Kasuta printf funktsioon, mis palub kasutajal sisestada number. Kasuta scanf funktsioon numbri lugemiseks ja muutujasse salvestamiseks n. %d on kümnendvormingu spetsifikaator täisarvu sisendiks võtmiseks.

Tühjendage kõik prügi väärtused, lähtestades summa nulliks ja varundage n väärtuseks temp.

#kaasa <stdio.h>

intpeamine()
{
int n, r, summa, temp;
printf("Palun sisestage number: ");
scanf("%d", &n);
summa = 0; temp = n;

Kuulutada a samal ajal tsükkel, mis jookseb seni, kuni arv on null või väiksem. Silmuse sees on kolmeastmeline protsess, mida saate kasutada mitmesugustes muudes programmeerimisülesannetes. Kolm sammu on järgmised:

  1. Hankige numbri üksikkoht, võttes arvu mooduli 10-ga. Kui jagate mis tahes arvu 10-ga tervikuna, on jääk ise viimane number. Näiteks kui jagate 153 10-ga, on täisarv 15 ja moodul on 3.
  2. Kui teil on individuaalne number, saate teha soovitud toimingu. Armstrongi arvu leidmiseks on soovitud tehte numbri numbrite kuubikute summa. Võtke numbri r kuup ja lisage see summa muutujale.
  3. Eemaldage numbri viimane number, jagades selle 10-ga. Jagades 10-ga, saate jagatise, antud juhul 15.
samal ajal (n > 0) {
r = n % 10;
summa = summa + (r * r * r);
n = n/10;
}

Kontrollige, kas saadud summa võrdub algarvuga. Kui need on võrdsed, on see arv tõepoolest Armstrongi arv, vastasel juhul mitte.

kui (temp == summa)
printf("Number on Armstrongi number\n");
muidu
printf("Number ei ole Armstrongi number\n");

tagasi0;
}

Üldalgoritmi muud rakendused

Kui muudate ülaltoodud kolmeastmelise loogika teist sammu, saate rakendada mitmesuguseid programme.

1. Summa, arvu numbrite korrutis

Arvu numbrite summa saamiseks asendage lihtsalt rida järgmisega:

summa = summa + r;

Korrutise puhul deklareerige muutuja prod väärtuseks 1 ja asendage liitesumma korrutussümboliga:

prod = prod * r;

2. Numbri numbrite arv

To loe arvu numbreid, lähtestage lihtsalt muutujate arv nulliks, jätke esimene samm vahele ja suurendage seda seni, kuni n võrdub nulliga. Silmuse rakendamine näeb välja järgmine:

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

3. Numbri tagurpidi, palindroomi number

Arvu ümberpööramiseks lähtestage muutuja pööre üheks ja lisage see pärast kümnega korrutamist:

pööre = (pööre * 10) + r;

Kui olete saanud numbri pöördnumbri, võrrelge seda algnumbri enda koopiaga. Kui pöördarv võrdub arvu endaga, on see palindroomi arv.

4. Arvu väikseim ja suurim number

Initsialiseerige muutuja min üheksaks ja võrrelge seda esimesest sammust eraldatud numbriga, et leida arvu väikseim koht. Saate seda rakendada järgmiselt:

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

Samamoodi lähtestage muutuja max nulliga ja võrrelge seda eraldatud numbriga, et leida arvu suurim number. Saate seda rakendada järgmiselt:

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

Nii saate leida arvu suurimad ja väikseimad numbrid.

5. Erinumbrid

On palju muid numbreid, nagu Armstrongi arv, mida saate arvutada. Nende hulka kuuluvad neoonarv, automorfne number, Krishnamurthy number, Buzz number, täiuslik number, sõbralik number ja kaksik-algarv.

Programmeerimine ja matemaatika

Matemaatikat kasutatakse programmeerimises laialdaselt. Binaarne matemaatika on programmeerimise tuum, kuna kogu tänapäeval kasutatav tarkvara on numbrite null ja üks kombinatsioon. Kõik andmed, millega töötate, salvestatakse binaarvormingus. Lineaarset algebrat kasutatakse masinõpperakendustes, graafikalgoritmides, kvantarvutustes jm.

Arvutamist, diskreetset matemaatikat ja statistikat kasutatakse laialdaselt probleemide lahendamisel ja algoritmide koostamisel. Matemaatika parandab teie arvutusoskust ja on programmeerimise oluline osa.