Armstrong Sayılarını Bulmak JAVA

Soru : Her bir hanenin, basamak sayısı kadar üslerinin toplamı yine aynı sayıya eşit olan tamsayılara, “Armstrong sayıları” denir. Örneğin 153=1.1.1+5.5.5+3.3.3 (veya 153=13+53+33) olduğu için Armstrong sayı olarak adlandırılır. Buna göre girilen sayının bir Armstrong sayısı olup olmadığını ekrana yazdıran programı yazınız.

Aynı sorunun C# kodlarını buradan görebilirsiniz.

 

import java.util.Scanner;
 
public class cagdasdag {
 
	public static void main(String[] args) {
		int ondalik=1, sayac=0,sayi;
		System.out.println("Sayıyı Giriniz");
		Scanner tara= new Scanner(System.in);
		sayi = tara.nextInt();
		while  (sayi/ondalik>=1){
			ondalik = ondalik*10;
			sayac++;
		}
		String sayistring= Integer.toString(sayi);
		int deger,toplam=0;
		for (int i=1; i<=sayac;i++){
			deger= Integer.parseInt(sayistring.substring(i-1,i));
			int toplamdeger = deger;
			for (int j=1;j<sayac;j++){
				toplamdeger = deger * toplamdeger;
			}
			toplam = toplamdeger+toplam;
		}
		if(toplam==sayi){
			System.out.println("Girdiğiniz Sayı Bir Armstrong Sayısıdır");
 
		}
		else{
			System.out.println("Girdiğiniz Sayı Bir Armstrong Sayısı Değildir");
		}
	}
 
}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Protected by WP Anti Spam