Bu yazıda while döngüsü kullanarak sayının faktöriyelini hesaplamayı öğreneceksiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Main { public static void main(String[] args) { int sayi = 10; long faktoriyel = 1; for(int i = 1; i <= sayi; ++i) { // factorial = factorial * i; faktoriyel *= i; } System.out.printf("%d! = %d \n", sayi, faktoriyel); } } |
Çıktı:
İlginizi çekebilir: Java Girilen Sayının Faktöriyelini Hesaplayan Program
Yukarıdaki örnekte 10 sayısının faktöriyelini hesapladık.
Örnekte dikkat edilmesi gereken nokta faktöriyel işleminde etkisiz değer olan 1’den başlamış olmasıdır. Çarpmanın etkisiz değeri 1 değerinden başlayarak sırayla sayı arttırılarak çarpılmaktadır.
Selamlar,benim anlamadığım bir nokta var,scanner ile “sayi” değerini istediğimiz zaman kişi 1’den küçük olan i değeri,yani 0 girse bile loop devam ediyor.Bunun sebebi nedir i <= 0 demişsiniz,eğer ki sayı değişkenini scanner ile alsaydık ve kullanıcı buna 0 değerini girseydi bile program devam ederdi.Bunun sebebi nedir acaba ?
Sayi değerini dışarıdan almış olsak da i 1 ile başladığı için sıfır değeri için döngü çalışmayacaktır. Döngü çalışmadığı için 0 faktöeiyel için 1 değeri dönecektir.