Java algoritma örnekleri serimizde bu yazımızda Armstrong sayı örneği ile karşınızdayız.
Armstrong sayı nedir?
Bir sayının her basamağının, sayının basamak sayısı kadar üssünün alınıp toplanması sonucu sayıya eşit olması durumunda bu sayıya armstrong sayı denir.
Örnek vermek gerekir ise 371 sayısı bir armstrong sayıdır.
371 = 3^3 + 7^3 + 1^3
Aynı şekilde 1634 sayısı da bir armstrong sayıdır.
1634 = 1^4 + 6^4 + 3^4 + 4^4
Kod:
import java.util.Scanner; public class Armstrong{ public static void main(String arg[]) { Scanner scanner = new Scanner(System.in); System.out.print("Sayıyı Giriniz: "); int sayi = scanner.nextInt(); int basamak=0,toplam=0; /*bir basamak sayısı hesaplama bir de basamakların değerlerini hesaplayacağımız için 2 adet gecici değer tanımlıyoruz ve sayımıza eşitliyoruz */ int gecici=sayi; int gecici_sayi=sayi; //bu döngümüzde basamak sayımızı hesaplıyoruz while(gecici>0){ gecici/=10; basamak++; } /*bu döngümüzde basamak değerlerini hesaplayıp basamak sayımız kadar üssünü alıyrouz*/ while(gecici_sayi>0){ int basamak_degeri = gecici_sayi % 10; gecici_sayi /= 10; /*Math.pow methodu ile ilk parametremizin ikinci parametre kadar üssünü alıyoruz*/ toplam += Math.pow(basamak_degeri,basamak); } if (sayi == toplam) { System.out.println(sayi+" sayısı bir armstrong sayıdır"); } else { System.out.println(sayi+" sayısı bir armstrong sayı değildir"); } } }