İki Aralık Arasında Armstrong Sayısını Gösteren C Programı

Bu örnekte, kullanıcı tarafından girilen iki tam sayı arasındaki tüm Armstrong sayılarını bulmayı öğreneceksiniz.

Bu örneği anlamak için, aşağıdaki C programlama konuları hakkında bilgi sahibi olmalısınız:

  • C if… else İfadesi
  • Döngü için C

Pozitif bir tamsayı, Armstrong numarası olarak adlandırılır (n sırasına göre)

 abcd… = an + bn + cn + dn + 

Armstrong sayısının 3 basamaklı olması durumunda, her basamağın küplerinin toplamı, sayının kendisine eşittir. Örneğin, 153 bir Armstrong numarasıdır çünkü

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 

Bu programı denemeden önce, bir tamsayının Armstrong sayısı olup olmadığını nasıl kontrol edeceğinizi öğrenin.

İki Tamsayı Arasındaki Armstrong Sayıları

 #include #include int main() ( int low, high, number, originalNumber, rem, count = 0; double result = 0.0; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Armstrong numbers between %d and %d are: ", low, high); // iterate number from (low + 1) to (high - 1) // In each iteration, check if number is Armstrong for (number = low + 1; number < high; ++number) ( originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++count; ) originalNumber = number; // result contains sum of nth power of individual digits while (originalNumber != 0) ( rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; ) // check if number is equal to the sum of nth power of individual digits if ((int)result == number) ( printf("%d ", number); ) // resetting the values count = 0; result = 0; ) return 0; )

Çıktı

 İki sayı girin (aralıklar): 200 2000 200 ile 2000 arasındaki Armstrong sayıları: 370371407 1634 

Programda, dış döngü (düşük + 1) ' den (yüksek - 1)' e yinelenir . Her yinelemede, sayının bir Armstrong numarası olup olmadığı kontrol edilir.

Dış döngünün içinde, önce bir tamsayının basamak sayısı hesaplanır ve içinde saklanır count. Ve, tek tek basamakların gücünün toplamı, sonuç değişkeninde saklanır.

Sayı eşitse result, sayı bir Armstrong sayısıdır.

Not: Dış döngünün her yinelemesinde sayımı sıfırlamanız ve sonucu 0 yapmanız gerekir.

Ilginç makaleler...