Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Armstrongovo číslo je klíčovým pojmem v oblasti šifrování a dešifrování pro zabezpečení dat.

Obecný koncept zpracování číslic čísla je základní technikou. Tímto přístupem můžete vyřešit mnoho úloh, jako je sčítání číslic, získání součinu číslic, počítání číslic a obrácení čísla.

Ale co je to Armstrongovo číslo a jak ho otestovat?

Co je Armstrongovo číslo?

Armstrongovo číslo je číslo, jehož součet třetí mocniny jeho číslic se rovná samotnému číslu. Například 153 je Armstrongovo číslo. Pokud vezmete číslice 153 jednotlivě a dáte je krychle:

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

Poté přidejte výsledky:

1 + 125 + 27

Dostanete 153, stejné jako původní číslo.

Algoritmus k nalezení Armstrongova čísla

Napsání algoritmu je prvním krokem k implementaci jakéhokoli programu. Algoritmus můžete použít jako referenci k zápisu pseudokódu a poté jej implementovat pomocí požadovaného programovacího jazyka. Algoritmus vám dává přesnou sérii instrukcí, které je třeba dodržovat, eliminuje logické chyby a zjednodušuje implementaci.

Zde je algoritmus, jak zjistit, zda je číslo Armstrong nebo ne:

  1. Deklarujte proměnné suma, teplota, n, r
  2. Vezměte hodnotu n od uživatele
  3. Inicializujte součet proměnné na 0 a vezměte zálohu n jako temp = n
  4. Opakujte kroky 5–7, zatímco n > 0
  5. r = n % 10
  6. součet = součet + kostka každé číslice (r × r × r)
  7. n = n/10
  8. Pokud se součet rovná teplotě, zobrazí se „Číslo je Armstrongovo číslo“
  9. Jinak zobrazte „Číslo není Armstrongovo číslo“

Pseudokód pro implementaci Armstrongova algoritmu

Pseudokód může být užitečným krokem při navrhování implementace algoritmu. Zápis pseudokódu vám pomůže snadno jej převést na kód v jakémkoli programovacím jazyce. Zde je pseudokód pro implementaci Armstrongova čísla:

Armstrongův program v C

Dodržujte výše uvedený pseudokód a převeďte každý příkaz do kódu C.

Začněte importem stdio.h provádět vstupní a výstupní operace. Vyhlásit hlavní a začněte implementovat logiku programu. Použití n uložit vstupní číslo, r uložit jednotlivé číslice čísla, součet uložit součet krychlí číslic a tepl pro uložení kopie čísla.

Použijte printf funkce, která uživatele požádá o zadání čísla. Použijte scanf funkce pro přečtení čísla a jeho uložení do proměnné n. %d je specifikátor desetinného formátu, který má jako vstup přijmout celé číslo.

Vymažte všechny nesmyslné hodnoty inicializací součtu na nulu a vezměte zálohu n jako temp.

#zahrnout <stdio.h>

inthlavní()
{
int n, r, suma, teplota;
printf("Zadejte číslo: ");
scanf("%d", &n);
součet = 0; teplota = n;

Prohlásit a zatímco smyčka, která běží, dokud není číslo nula nebo menší. Uvnitř smyčky je třístupňový proces, který můžete použít v různých jiných programovacích úlohách. Tyto tři kroky jsou:

  1. Získejte jednotlivou číslici čísla tím, že vezmete modul čísla s 10. Když vydělíte libovolné číslo 10 jako celek, zbytek je samotná poslední číslice. Když například vydělíte 153 10, výsledek celého čísla je 15 a modul je 3.
  2. Když máte jednotlivé číslice, můžete provést požadovanou operaci. Chcete-li najít Armstrongovo číslo, požadovanou operací je součet třetí mocniny číslic čísla. Vezměte krychli číslice r a přidejte ji k proměnné součtu.
  3. Odstraňte poslední číslici čísla vydělením 10. Při dělení 10 získáte kvocient, v tomto případě 15.
zatímco (n > 0) {
r = n % 10;
součet = součet + (r * r * r);
n = n/10;
}

Zkontrolujte, zda se získaný součet rovná původnímu číslu. Pokud jsou stejné, je to skutečně Armstrongovo číslo, jinak není.

if (teplota == součet)
printf("Číslo je Armstrongovo číslo\n");
jiný
printf("Číslo není Armstrongovo číslo\n");

vrátit se0;
}

Další aplikace obecného algoritmu

Změnou druhého kroku z výše uvedené tříkrokové logiky můžete implementovat různé programy.

1. Součet, součin číslic čísla

Chcete-li získat součet číslic čísla, jednoduše nahraďte řádek takto:

součet = součet + r;

Pro produkt deklarujte proměnný produkt jako 1 a nahraďte součet součtem symbolem násobení:

prod = prod * r;

2. Počet číslic čísla

Na počítat číslice čísla, jednoduše inicializujte počet proměnných na nulu, vynechejte krok jedna a zvyšujte jej, dokud se n nerovná nule. Implementace smyčky bude vypadat takto:

zatímco (n > 0) {
počet++;
n = n/10;
}

3. Opačná strana čísla, číslo palindromu

Chcete-li obrátit číslo, inicializujte proměnnou rev ​​na jedničku a přidejte ji po vynásobení deseti:

rev = (rev * 10) + r;

Jakmile získáte opak čísla, porovnejte jej s kopií samotného původního čísla. Pokud se opačné číslo rovná samotnému číslu, jedná se o číslo Palindrom.

4. Nejmenší a největší číslice čísla

Inicializujte proměnnou min jako devět a porovnejte ji s číslicí extrahovanou z kroku jedna, abyste našli nejmenší číslici čísla. Můžete to implementovat jako:

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

Podobně inicializujte proměnnou max s nulou a porovnejte ji s extrahovanou číslicí, abyste našli největší číslici čísla. Můžete to implementovat jako:

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

Takto můžete najít největší a nejmenší číslice čísla.

5. Speciální čísla

Existuje mnoho dalších čísel, jako je Armstrongovo číslo, které můžete vypočítat. Patří mezi ně Neon number, Automorphic number, Krishnamurthy number, Buzz number, Perfect number, Amicable number a Twin prvočíslo.

Programování a matematika

Matematika je široce používána v programování. Binární matematika je jádrem programování, protože veškerý software, který dnes používáte, je kombinací číslic nula a jedna. Všechna data, se kterými pracujete, jsou uložena v binárním formátu. Lineární algebra se používá v aplikacích strojového učení, grafových algoritmech, kvantových výpočtech a dalších.

Počet, diskrétní matematika a statistika se široce používají při řešení problémů a návrhu algoritmů. Matematika zlepšuje vaše výpočetní dovednosti a je nezbytnou součástí programování.