C programma Ārmstronga skaitļa pārbaudei

Š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.

Interesanti raksti...