gusanmaz / BMB212_Algorithms

NKÜ Bilgisayar Mühendisliği BMB212 Veri Yapıları Dersi Uygulama Notları, Projeleri ve Ödevleri
27 stars 22 forks source link

Project ToplaPalindrome6 için int değer sınır aralığı yetersiz kalıyor. #1

Open berkslv opened 2 years ago

berkslv commented 2 years ago

Merhabalar, Proje dosyasında sunulan problerden ToplaPalindrome6 problemi için int sınır aralığı sanırım yetersiz kalıyor. Bir ödev olduğu için sonucu vermemek gerekirse ToplaPalindrome5 fonksiyonu x 10^6 sonucunu üretirken ToplaPalindrome6 fonksiyonu x 10^8 sonucunu üretiyor ve bu sonuçta int sınır aralığına sığmıyor.

Ben mi yanlış yapıyorum yoksa int yerine double vs. mi kullanmamız gerekiyor?

gusanmaz commented 2 years ago

ToplaPalindrome6 fonksiyonun donus tipi long olarak guncellenecek sablon kodlarda. Donus tipini double olarak degistirmek yerine long olarak degistiririn kodlarinizda.

fatihayaaar commented 2 years ago

Merhabalar, ToplaPalindrome6 'da int sınır aralığı yeterli olduğu kanaatindeyim. Deneyerek test ettim.

gusanmaz commented 2 years ago

Evet, ben de denedim ve integer overflow durumu ile karsilasmadim. Bununla beraber resmi dokumantasyonlarda (ornegin: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html) int uzunlugu 32 bit olarak belirtiliyor. Belki 32 bit eski mimarili makinalarda veya eski derleyecilerde sorun yasanabilir. Ne olur ne olmaz donus tipi olarak int yerine long kullanmakta fayda var gibi bu fonksiyonda.