1. sayfa
Sanırım doğru düşünmüşsün. Test edip bakmadım ama muhtemelen dediğin gibi limiti aştı. Fibonacci dizisinde sadece toplama işlemi kullanıldığı için sana bir sayı sınıfı gönderebilirim, bunu kullanarak limitsiz bir şekilde istediğini yapabilirsin. |
200'e kadar gittiğinde böyle oluyor mesela (Tabii eğer sayı sınıfımda sorun yoksa) < Resime gitmek için tıklayın > |
Böyle yerlerde ya özel sayı sınıfı yaratmak gerek ya da hazır birtane kütüphaneden kullanmak gerek. |
Merhaba, Bu tür işlemlerde Recursive metod kullanmalısınız. Yani kendini tekrar eden metodlar kullanmalısınız. Daha detaylı bilgi için Burak Selim Şenyurt'un hazırlamış olduğu görsel eğitimden faydalanabilirsiniz:http://www.buraksenyurt.com/post/Recursive-Fibonacci-Neden-Yavas.aspx Kolay gelsin... |
Niye ki? İşlem döngü ile çok fazla karmaşıklaşmadığı sürece döngü kullanmak daha iyi. Zaten verdiğin bağlantıda da aynı şeyi söylüyor. |
O degilde yaptim galiba.Istedigimiz degere kadar - + olmadan gidiyor.
Ama simdide söyle bir sorun oluyor . 5 den 6 ya geçerken olmasi gerekenden 1 fazla buluyor sebebi ne onu merak ettim simdide :D |
Akadaş ne uğraşmışşın Sana normalini yaazayım sen c# a çevirirsin int fib() { int n, birinci= 0, ikinci= 1, sonraki, i; printf(""Kaçinci adima kadar gitmek istiyorsunuz : "\n"); scanf("%d",&n); printf("ilk %d terim: \n",n) for ( i= 0 ; i< n ; i++ ) { if ( i<= 1 ) sonraki= i; else { sonraki= birinci+ ikinci; birinci = ikinci; ikinci= sonraki; } printf("%d\n",sonraki); } // drek cevabı istiyorsan yukardaki prnti sil return olarak sonrakini dön return 0; } |
İşte öyle yazınca 46. basamaktamı ne sapıtıyor ![]() |
1. sayfa
a , b , c değişkenlerini int tanımladım ve belli bir yerden sonra sapıttı ve - + olmaya başladı. Bende int türünün limitini aştı herhalde diye düşündüm long olarak tanımladım ama maalesef yine aynı sorunla karşılaştım ama daha ilerki basamaklarda oldu.Long tanımlayınca 92. adımda int kullanınca 46. adımda sapıttı ama benim merak ettiğim niye böyle bir şey yaptığı.Aydınlatabilirseniz iyi olur.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi HotShotTR -- 29 Haziran 2013; 22:01:02 >