Bu yazımızda programlama dili öğrenirken kesinlikle karşınıza çıkabilecek bir örnek olan C programlama ile faktöriyel hesaplama sorunu çözeceğiz. Soruyu çözerken for döngüsünü kullanacağız . Bu konuda eksikleriniz bulunuyorsa daha iyi anlamak için konuyu çalışıp tekrar gelebilirsiniz.
C programlama ile faktöriyel hesaplamaya geçmenden önce faktöriyelin mantığını programlamaya nasıl aktaracağımızı görmekte fayda var.
Programlamada Faktöriyel Hesaplama Mantığı
Faktöriyel, bir sayının 1’den başlayarak kendisine kadar olan sayıların çarpımıdır. Programlamada ki mantıkta aynı şekilde ilerliyor. Değeri 1 olan bir değişkenimiz var. X değişkeni olsun. X’i önce 2 ile çarpıyoruz ve sonucu x’e atıyoruz. Sonra 3’le çarpıyoruz yine x’e atıyoruz. Bu şekilde istenilen sayıya kadar devam ettiğimizde sayının faktöriyelini bulmuş oluyoruz. Artık kodumuza geçebiliriz.
C Programlamada Faktöriyel Hesaplama Kodu
#include <stdio.h>
int main(){
int sayi,i,sonuc=1;
printf("Faktoriyel alinmasini istediginiz sayi : ");
scanf("%d",&sayi);
for(int i=2; i<=sayi ; i++)
sonuc = sonuc * i;
printf("%d sayisinin faktoriyeli : %d", sayi,sonuc);
}
Çıktı :
Bu yazımızda C programlama faktöriyel hesaplama sorusunu çözdük. Aklınıza takılan bir soru varsa yorumlar kısmından sorularınızı iletebilirsiniz. Diğer C programlama örnek sorularımızı görmek isterseniz, C programlama örnekleri kategorimize buraya tıklayarak gidebilirsiniz.
31’den büyük sayıların faktöriyeli hatalı çıkıyor
C dilinde veri tiplerinin alabileceği maksimum değerler vardır. Soruda kullandığımız int’in maksimum alabileceği değer 2147483647. Dolayısıyla o limit aşıldıktan sonra yanlış cevaplar vermesi normal. Daha yüksek sayılar için ‘long double’ tipini kullanabiliriz. Bu örnek için;
long double sonuc=1;
int sayi,i;
printf(“Faktoriyel alinmasini istediginiz sayi : “);
scanf(“%d”,&sayi);
for(int i=2; i<=sayi ; i++){
sonuc = sonuc * i;
}
printf(“%d sayisinin faktoriyeli : %Lf”, sayi,sonuc);
şeklinde yazabiliriz.