IMG-LOGO

Java Armstrong sayıları


Bir sayının Armstrong olup olmadığını kontrol etmek için Java programı,
Armstrong sayıları:
Her basamağın, sayının basamak sayısı kadar kuvvetinin alınıp toplanmaları ile elde edilen sonuç armstrong sayılarını verir.
Sayı üç basamaklı ise tüm sayıların küpleri toplamı, 4 basamaklı ise tüm sayıların dördüncü kuvvetlerinin toplamı.
Örnek: 0, 1, 4, 5, 9, 153, 371, 407, 8208

Java Armstrong sayıları programı


import java.util.Scanner;
 
class ArmstrongNumber
{
  public static void main(String args[])
  {
    int n, sum = 0, t, remainder, digits = 0;
 
    Scanner in = new Scanner(System.in);
    System.out.println("Armstrong sayısı olup olmadığı kontrol edilecek sayıyı girin");    
    n = in.nextInt();
 
    t = n;

    // Basamak sayısını kontrol ediyoruz

    while (t != 0) {
      digits++;
      t = t/10;
    }
 
    t = n;
 
    while (t != 0) {
      remainder = t%10;
      sum = sum + power(remainder, digits);
      t = t/10;
    }
 
    if (n == sum)
      System.out.println(n + " Armstrong sayısı.");
    else
      System.out.println(n + " Armstrong sayısı değil.");
  }

  static int power(int n, int r) {
    int c, p = 1;
 
    for (c = 1; c <= r; c++)
      p = p*n;
 
    return p;
  }
}