Challenge Türü: Easy
Detaylar

Kodumuz

Kodun Çıktısı

Hatalar

- 10. satırda tanımladığımız result değişkeni for döngüsünün dışında tanımlanmalı (örn. 7. satırda) çünkü for döngüsünün amacı bu değeri her seferinde yeni elde ettiğimiz değeriyle değiştirerek i ile çarpmak. (Sistem, [result*i=result] 1*1=1 1*2=2 2*3=6 6*4=24 şeklinde işliyor)
- Aynı zamanda bu tanımlanacak result değişkenine bir ilk değer ataması yapılmalı yoksa null değeri döndürür (bildiğim kadarıyla?) ve bu atanacak ilk değer 1 olmalı ki çarpım işlemi yapıldığında ilk olarak kendisini versin. Örneğin 0 değeri atanırsa bu result değişkeni sürekli 0 değeri olarak kalır çünkü 0 ile çarpılan her sayı yine 0 değerini verir.
- 12. satırda kendi yaptığım bir hatayı koyuyorum. Hızlı bir şekilde yazarken i yerine 1 yazmıştım. Fakat for döngüsünün içerisinde i‘ yi tanımlamamızın sebebi onu döngüyü çevirmesi amacıyla kullanmak zaten. i yerine 1 yazdığımız zaman result değerini sürekli olarak 1 ile çarpmış ve hep aynı sonucu elde etmiş oluruz. Burada result değişkeninin değeri 1 olduğu için sonuç her zaman result*1=1 olur.
- 15. satırda num değil de result değişkenini yazmalıyız çünkü biz FirstFactorial metodunda result değişkenini döndürüyoruz ve Main metoduna bu değişkeni yolluyoruz. num ise bizim parametremizdir. Yani Main metodundan aldığımız değişken.
- 20. satırda, kullanıcıdan aldığımız değeri C# dilini kullanarak yazdığımız kodda ve Main metodundan aldığımız için string türünde alıyoruz ve bunu FirstFactorial metoduna yollarken, işlem yaptırmak için vs. integer türünde yolluyoruz. Bunun için de Convert.ToInt32 gibi bir dönüştürücü kullanmamız gerekir.
Wow – Code Worth Checking | Come Look Here

Coderbyte platformunda bu kodu yazarken faktöriyel kodlarını inceliyordum ve bir kullanıcının yazdığı şu koda denk geldim. Aslında inceleyince gayet basit bir mantıkla yazılmış ve daha kısa, pratik görünüyor. İncelemeye, öğrenmeye değer bir kod olduğunu düşünüyorum. Ufku genişletmek için farklı bir bakış açısı olur en azından.