Bu nasıl başlıktır bende anlamadım ama; burada verceğim örneğin adıyla uyumlu olsun istedim. Son iki senedir yazmak istediğim ama bir türlü yazmaya başlayamadığım bir kod vardı. Bugün itibariyle onun yarısını yazmıs bulunuyorum. Önce sorunu anlatayım.
Sizin de bildiğiniz gibi, programlama dillerinde sayıları saklamak için kullandığımız değişkenler vardır. Ne yazıkkı bu değişkenlerin de sınırları vardır. Eski zamanlardan birinde yazdığım bir programda çok uzun sayıları toplamam gerekmişti, benimde aklıma birazdan anlatacağım yöntemi kullanmak gelmişti; ama üşendiğimden, programa bir türlü devam edememiştim. Soruna, gelince 500 basamaklı iki tam sayıyı kayıpsız olarak nasıl toplar, çıkartırdık ya da çarpardık?
Bunuö internette baya bir araştırmıştımö yazılan yöntemler çok karmaşıktı. Peki neden bilgisayara toplamayı ve çıkarmayı yeniden öğretmeyeydik ki? Bilgisayar da pekala komşudan bir onluk alabilirdi.
Evet fark etmiş olabileceğiniz gibi, bilgisayarın toplama yapmak için insanların yöntemini taklit etmesini sağlamaktı amacım. Yani 1254 ile 349'u toplarken,
1254
+ 349
*********
1603 Bulmak için:
4, 5 daha: 13. 3'ü yazıyoruz Elde var 1
5, 4 daha: 9 elde de 1 vardı, 10. 0'ı yazıyoruz, elde var 1
2, 3 daha: 5 elde de 1 vardı, 6. 6'yı yazıyoruz
1, aşağı iner. Sonuc: 1603.
Gibi bir işlem işlemesini ve çıkartırken de,
1254
- 349
*********
905
Bulmak için:
4'ten 9 çıkmaz, ayşe teyzeden bir elme borç aldık, 14'ten 9 çıktı, kalan 5
Ayşe teyze bir elmasını komşuya vermişti, 4'ten 4 çıktı, kalan 0
2'den 3 çıkmaz, komşudan bir elma aldık, 12 den 3 çıktı, kalan 9.
Komşuda elma bitti, sonuc: 905.
Şeklinde sonucu bulmaktı. Bunu bu kadar basit bir halde yazayım dedım ve yazdım. Kodları buradan indirebilirsiniz. İftardan sonra da inşallah, bunu sınıflaştıracağım.
Yakın zamanda çarpma ve bölmeyi de uygular ve yayınlarım.
Gubidik Toplayıcı, Abidik Çarpıcı
Gubidik toplayıcı artık, çarpıyorda!
Ekler:
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5