Java Lunchbell sayısı (bir sayının tüm basamaklarına kalansız bölünebilmesi durumudur.) algoritması

Haziran 29, 2020 0 Yazar: alikperislam

package javadersleri;
import java.util.Scanner;
public class lunchbell {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print(“Lütfen 5 basamaklı bir sayı giriniz :”);
int sayi = scan.nextInt();

    if(sayi<100000 && sayi>9999){ // girilen sayının 5 basamaklı olup olmadığını kontrol ettim.
        // öncelikle sayinin basamakları ayrışacak biçimde 10 ve katlarına böldüm.
        int a1 =sayi/10000;
        int a2 =(sayi/1000);
        int a3 =(sayi/100);
        int a4 =(sayi/10);
        int a5 =(sayi);
        // daha sonra sadece son basamakları kalacak biçimde gerekli aritmetik işlemleri yaptım.
        int b1 =a1;
        int b2 = a2%10;
        int b3 =(a3-(a2*10));
        int b4 =(a4-(a3*10));
        int b5 =(a5-(a4*10));
        // basamakların ekran çıktılarını yazdırdım.
        System.out.println("a1 :"+a1+"\na2 :"+a2+"\na3 :"+a3+"\na4 :"+a4+"\na5 :"+a5);
        System.out.println("");
        System.out.println("b1 :"+b1+"\nb2 :"+b2+"\nb3 :"+b3+"\nb4 :"+b4+"\nb5 :"+b5);
        // son olarak lunch-bell sayısı tüm basamaklarına tam bölünen bir sayı olduğu için kalanları 0 olacak
        // biçimde koşullu durumda kontrol ettim hepsini.
        if(b2==0 || b3==0 || b4==0 || b5==0 ){ // kullanıcı sayının herhangi biryerinde 0 kullanırsa bölünemeyeceği için hata verecek o yüzden koşullu durum kullandım.
            System.out.println("Lütfen 0 kullanmayınız..."); // b1==0 değerini if koşulunda kullanmadım çünkü zaten başa 0 yazınca 4 basamaklı olarak geçiyor.
        }
        else{
            if(sayi%b1==0 && sayi%b2==0 && sayi%b3==0 && sayi%b4==0 && sayi%b5==0){
                System.out.println("\nTebrikler "+sayi+" sayısı bir-lunch bell sayısıdır.");
            }
            else{
                System.out.println("\nÜzgünüm "+sayi+" sayısı lunch-bell sayısı değildir.");
            }
        }
    }
    else{
        System.out.println("Üzgünüm 5 basamaklı bir sayı girmediniz...");
    }
}

}