Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

Az Armstrong-szám kulcsfontosságú fogalom az adatbiztonság titkosítása és visszafejtése terén.

A számjegyek feldolgozásának általános koncepciója alapvető technika. Ezzel a megközelítéssel számos feladatot megoldhat, például számjegyek összegzését, számjegyek szorzatának kiszámítását, számjegyek számlálását és egy szám megfordítását.

De mi az Armstrong-szám, és hogyan lehet tesztelni egyet?

Mi az Armstrong-szám?

Az Armstrong-szám olyan szám, amelynek számjegyeinek kockáinak összege megegyezik magával a számmal. Például a 153 egy Armstrong-szám. Ha a 153-as számjegyeket egyenként veszed, és kockára vágod:

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

Ezután add hozzá az eredményeket:

1 + 125 + 27

153-at kapsz, ami megegyezik az eredeti számmal.

Algoritmus az Armstrong-szám megtalálásához

Az algoritmus megírása minden program megvalósításának első lépése. Az algoritmust referenciaként használhatja pszeudokód írásához, majd megvalósíthatja azt a kívánt programozási nyelv segítségével. Egy algoritmus megadja a követendő utasítások pontos sorozatát, kiküszöbölve a logikai hibákat és egyszerűbbé téve a megvalósítást.

instagram viewer

Íme az algoritmus annak megállapítására, hogy egy szám Armstrong-e vagy sem:

  1. Sum, temp, n, r változók deklarálása
  2. Vegye ki az n értékét a felhasználótól
  3. Inicializálja az összeg változót 0-ra, és mentse n értékét temp = n értékre
  4. Ismételje meg az 5–7. lépéseket, miközben n > 0
  5. r = n % 10
  6. összeg = minden számjegy összege + kocka (r × r × r)
  7. n = n/10
  8. Ha az összeg egyenlő a hőmérséklettel, jelenítse meg a „Szám egy Armstrong-szám”
  9. Ellenkező esetben jelenítse meg a „A szám nem Armstrong-szám”

Pszeudokód az Armstrong-algoritmus megvalósításához

A pszeudokód hasznos lépés lehet egy algoritmus megvalósításának megtervezésében. A pszeudokód megírása segít abban, hogy bármely programozási nyelven könnyen kóddá alakítsa. Íme az Armstrong-szám megvalósításának pszeudokódja:

Az Armstrong-program C

Figyelje meg a fenti pszeudokódot, és alakítsa át az egyes utasításokat C kódra.

Kezdje az importálással stdio.h a bemeneti és kimeneti műveletek végrehajtásához. Nyilatkozni a fő- funkciót, és kezdje el megvalósítani a program logikáját. Használat n a bemeneti szám tárolásához, r a szám egyes számjegyeinek tárolására, összeg a számjegyek kockáinak összegének tárolására, és hőm hogy tárolja a szám másolatát.

Használja a printf funkciót, amely megkéri a felhasználót egy szám bevitelére. Használja a scanf függvény a szám beolvasásához és változóban tárolásához n. %d a decimális formátum megadója, amely egész számot vesz be bemenetként.

Töröljön ki minden hulladék értéket úgy, hogy az összeget nullára inicializálja, és készítsen biztonsági másolatot az n értékről tempként.

#beleértve <stdio.h>

intfő-()
{
int n, r, összeg, hőm;
printf("Kérjük, írjon be egy számot: ");
scanf("%d", &n);
összeg = 0; hőmérséklet = n;

Nyilatkozni a míg ciklus, amely addig fut, amíg a szám nulla vagy kisebb lesz. A hurkon belül egy három lépésből álló folyamat található, amelyet számos más programozási feladatban használhat. A három lépés a következő:

  1. Kapja meg a szám egyedi számjegyét úgy, hogy a szám modulusát 10-zel veszi. Ha bármelyik számot elosztja 10-zel, a maradék maga az utolsó számjegy. Például, ha elosztja 153-at 10-zel, az egész eredmény 15, a modulus pedig 3.
  2. Ha megvan az egyedi számjegy, elvégezheti a kívánt műveletet. Armstrong-szám kereséséhez a kívánt művelet a szám számjegyeiből álló kockák összege. Vegyük az r számjegy kockáját, és adjuk hozzá az összeg változóhoz.
  3. Törölje ki a szám utolsó számjegyét úgy, hogy elosztja 10-zel. 10-zel osztva megkapjuk a hányadost, ebben az esetben a 15-öt.
míg (n > 0) {
r = n % 10;
összeg = összeg + (r * r * r);
n = n/10;
}

Ellenőrizze, hogy a kapott összeg megegyezik-e az eredeti számmal. Ha egyenlők, a szám valóban Armstrong-szám, egyébként nem.

ha (hőmérséklet == összeg)
printf("A szám egy Armstrong-szám\n");
más
printf("A szám nem Armstrong-szám\n");

Visszatérés0;
}

Az általános algoritmus egyéb alkalmazásai

A fent látható háromlépéses logika második lépésének megváltoztatásával számos programot valósíthat meg.

1. Összeg, számjegyek szorzata

Egy szám számjegyeinek összegének kiszámításához egyszerűen cserélje ki a sort a következőre:

összeg = összeg + r;

A szorzatnál deklarálja a prod változót 1-nek, és cserélje ki az összeadási összeget szorzójelre:

prod = prod * r;

2. Számjegyek száma

Nak nek megszámolni egy szám számjegyeit, egyszerűen inicializálja a változók számát nullára, hagyja ki az első lépést, és növelje addig, amíg n nem egyenlő nullával. A hurok megvalósítása így fog kinézni:

míg (n > 0) {
count++;
n = n/10;
}

3. Szám fordítottja, palindróm szám

Egy szám megfordításához inicializáljon egy változó fordulatszámot eggyel, és adja hozzá tízzel való szorzás után:

fordulat = (fordulat * 10) + r;

Miután megkapta egy szám fordítottját, hasonlítsa össze magát az eredeti szám másolatával. Ha a fordított szám megegyezik magával a számmal, akkor az egy palindrom szám.

4. Egy szám legkisebb és legnagyobb számjegye

Inicializáljon egy min változót kilencre, és hasonlítsa össze az első lépésből kivont számjegygel, hogy megtalálja a szám legkisebb számjegyét. Megvalósíthatja a következőképpen:

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

Hasonlóképpen inicializáljon egy max változót nullával, és hasonlítsa össze a kivont számjeggyel, hogy megtalálja a szám legnagyobb számjegyét. Megvalósíthatja a következőképpen:

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

Így lehet megtalálni egy szám legnagyobb és legkisebb számjegyei.

5. Különleges számok

Sok más szám is kiszámolható, például egy Armstrong-szám. Ezek közé tartozik a neonszám, az automorf szám, a Krishnamurthy-szám, a buzz-szám, a tökéletes szám, a baráti szám és az ikerprímszám.

Programozás és matematika

A matematikát széles körben használják a programozásban. A bináris matematika a programozás magja, mivel a ma használt összes szoftver a nulla és az egyes számjegyek kombinációja. Minden adat, amellyel dolgozik, bináris formátumban kerül tárolásra. A lineáris algebrát gépi tanulási alkalmazásokban, gráfalgoritmusokban, kvantumszámításokban és egyebekben használják.

A számításokat, a diszkrét matematikát és a statisztikákat széles körben használják a problémamegoldásban és az algoritmusok tervezésében. A matematika fejleszti a számítási készségeket, és a programozás elengedhetetlen része.