Java'da bir sayının tüm bölenlerini bulduğumuz bir örneği paylaştıktan sonra işi bir adım daha ileri götürelim ve yine en temel matematik konularından birisi olan çarpanlarına ayırma konusunu Java'da kodlayalım. Program şu şekilde işlesin: kullanıcı bir sayı yazsın, Java da girdiği sayının hangi sayıların çarpımlarından olulabileceğinin tüm kombinasyonlarını yazsın. Sadece tamsayılardan bahediyoruz bu örnekte.
Algoritma olarak önceki örnek ile çoğu kısım aynı, önce kullanıcının yazdığı sayının tüm bölenlerini bulacağız, sonrasında da o bölen için diğer çarpımı hesaplayarak birlikte çıktı alacağız.
Scanner klavye=new Scanner(System.in);
System.out.println("Lütfen bölenlerini bulmak istediğiniz sayıları yazın");
int sayi=klavye.nextInt();
for (int i=1; i<=sayi; i++)
{
if(sayi%i==0)
System.out.println(i+"*"+(sayi/i)+"="+sayi);
}
}
Çıktı 1:
Lütfen bölenlerini bulmak istediğiniz sayıları yazın
> 1535
1*1535=1535
5*307=1535
307*5=1535
1535*1=1535
Çıktı 2:
Lütfen bölenlerini bulmak istediğiniz sayıları yazın
> 120
1*120=120
2*60=120
3*40=120
4*30=120
5*24=120
6*20=120
8*15=120
10*12=120
12*10=120
15*8=120
20*6=120
24*5=120
30*4=120
40*3=120
60*2=120
120*1=120
Çıktı 3:
Lütfen bölenlerini bulmak istediğiniz sayıları yazın
> 1680
1*1680=1680
2*840=1680
3*560=1680
4*420=1680
5*336=1680
6*280=1680
7*240=1680
8*210=1680
10*168=1680
12*140=1680
14*120=1680
15*112=1680
16*105=1680
20*84=1680
21*80=1680
24*70=1680
28*60=1680
30*56=1680
35*48=1680
40*42=1680
42*40=1680
48*35=1680
56*30=1680
60*28=1680
70*24=1680
80*21=1680
84*20=1680
105*16=1680
112*15=1680
120*14=1680
140*12=1680
168*10=1680
210*8=1680
240*7=1680
280*6=1680
336*5=1680
420*4=1680
560*3=1680
840*2=1680
1680*1=1680