Armstrong Numarasını Kontrol Etmek İçin Kotlin Programı

Bu programda, belirli bir sayının sabit sayı olup olmadığını kontrol etmeyi öğreneceksiniz. Bunu Kotlin'de bir while döngüsü kullanarak yapmayı öğreneceksiniz.

Pozitif bir tam sayıya Armstrong sıra numarası denir.

abcd… = bir n + b n + c n + d n +…

Armstrong sayısının 3 basamak olması durumunda, her basamağın küplerinin toplamı, sayının kendisine eşittir. Örneğin:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153, bir Armstrong numarasıdır. 

Örnek 1: 3 haneli sayı için Armstrong Numarasını kontrol edin

 fun main(args: Array) ( val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") ) 

Programı çalıştırdığınızda, çıktı:

 371, bir Armstrong numarasıdır.
  • İlk olarak, verilen sayının (sayı) değeri başka bir tamsayı değişkeninde, originalNumber'da saklanır. Bunun nedeni, son sayı ile orijinal sayının değerlerini en sonunda karşılaştırmamız gerektiğidir.
  • Ardından, 0'a eşit olana kadar originalNumber ile döngü yapmak için bir while döngüsü kullanılır.
    • Her yinelemede, num'un son basamağı kalan kısımda saklanır.
    • Daha sonra kalan, Math.pow()function kullanılarak 3 (basamak sayısı) tarafından güçlendirilir ve sonuca eklenir.
      Burada kalan dönüştürülür Doubleçünkü powsadece kabul Doubleparametreler ve değeri tekrar dönüştürülmüş geri döndüInt
    • Ardından, son rakam 10'a bölündükten sonra orijinal Numaradan kaldırılır.
  • Son olarak, sonuç ve sayı karşılaştırılır. Eşit ise, armstrong sayısıdır. Değilse, değildir.

İşte eşdeğer Java kodu: Armstrong Numarasını Kontrol Etmek için Java Programı

Örnek 2: Armstrong numarasını n basamak için kontrol edin

 fun main(args: Array) ( val number = 1634 var originalNumber: Int var remainder: Int var result = 0 var n = 0 originalNumber = number while (originalNumber != 0) ( originalNumber /= 10 ++n ) originalNumber = number while (originalNumber != 0) ( remainder = originalNumber % 10 result += Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 ) if (result == number) println("$number is an Armstrong number.") else println("$number is not an Armstrong number.") )

Bu programda iki while döngüsü kullandık. İlk while döngüsü, sayıdaki basamakların sayısını saymak için kullanılır.

Daha sonra, originalNumber verilen sayıya geri yüklenir.

İkinci while döngüsü daha sonra sayının güçlü olup olmadığını kontrol eder.

İki aralık arasında tüm sabit sayıları nasıl görüntüleyebileceğinizi öğrenmek için bu sayfayı ziyaret edin.

Ilginç makaleler...