Örnek vermek gerekirse 6 bir mükemmel sayıdır. 6 sayısının pozitif çarpanları 1x2x3 dür. Bu çarpanların toplamı kendisine eşittir.
( 1+2+3=6 )
public static void main(String[] args) {
Scanner cr = new Scanner(System.in);
int sayi;
System.out.println("Bir sayi giriniz : ");
sayi = cr.nextInt();
//kontrol edilecek sayıyı fonksiyonumuza yolluyoruz
if(mukemmelSayiBul(sayi)){
System.out.println(sayi+" sayısı mükemmel sayıdır.");
}else{
System.out.println(sayi+" sayısı mükemmel sayı değildir.");
}
}
public static boolean mukemmelSayiBul(int sayi) {
// kendisinden küçük tüm sayılara bölüyoruz ve tam bölen sayıları topluyoruz
int toplam = 0;
for (int i = 1; i < sayi; i++) {
if (sayi % i == 0) {
toplam += i;
}
}
//toplam, sayımıza eşit ise mükemmel sayı olmuş oluyor
if (toplam == sayi) {
return true;
} else {
return false;
}
}
Kodlara ulaşmak için github adresine gidin