Šajā piemērā jūs iemācīsities pārbaudīt, vai lietotāja ievadītais vesels skaitlis ir Ārmstronga skaitlis.
Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:
- C ja … cits paziņojums
- C kamēr un dari … kamēr Loop
Pozitīvu veselu skaitli sauc par Ārmstronga skaitli (secībā n), ja
abcd… = an + bn + cn + dn +
Ārmstronga 3 ciparu skaitļa gadījumā katra cipara kubu summa ir vienāda ar pašu skaitli. Piemēram, 153 ir Ārmstronga skaitlis, jo
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Pārbaudiet Ārmstrongu Trīs ciparu skaits
#include int main() ( int num, originalNum, remainder, result = 0; printf("Enter a three-digit integer: "); scanf("%d", &num); originalNum = num; while (originalNum != 0) ( // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; ) if (result == num) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; )
Rezultāts
Ievadiet trīsciparu skaitli: 371 371 ir Ārmstronga skaitlis.
Pārbaudiet Ārmstrongu n ciparu skaits
#include #include int main() ( int num, originalNum, remainder, n = 0; float result = 0.0; printf("Enter an integer: "); scanf("%d", &num); originalNum = num; // store the number of digits of num in n for (originalNum = num; originalNum != 0; ++n) ( originalNum /= 10; ) for (originalNum = num; originalNum != 0; originalNum /= 10) ( remainder = originalNum % 10; // store the sum of the power of individual digits in result result += pow(remainder, n); ) // if num is equal to result, the number is an Armstrong number if ((int)result == num) printf("%d is an Armstrong number.", num); else printf("%d is not an Armstrong number.", num); return 0; )
Rezultāts
Ievadiet veselu skaitli: 1634 1634 ir Ārmstronga skaitlis.
Šajā programmā vispirms tiek aprēķināts un saglabāts vesela skaitļa ciparu skaits n. Un, tad pow()funkcija tiek izmantota, lai aprēķinātu spēku atsevišķu ciparu katrā atkārtojuma otrās forcilpas.








