Java ile Asal Sayı ve İşlemci Testi

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu örnek ile bir sayının asal sayı olup olmadığını kontrol edip, 1 den 10,000 e kadar olan asal sayıları işlemcinin kaç saniyede bulacağını test edeceğiz.

Öncelikli işimiz basit bir algoritma ile bir sayının asal olup olmadığını anlamak olacak, bunu geri dönüşü boolean olan bir methoda aktarmak ile başlayacağız.

Asal Sayı Kontrol Algoritması

Öncelikle kontrol edeceğimiz bu terimin ne olduğunu bir kez daha tekrarlayalım. Herkesin bildiği üzere herhangi bir asal sayı sadece kendisine ve bir e bölünebilir. Bu kuraldan yola çıkarak küçük bir döngü ile bir sayının asallığını kontrol edebiliriz, hatta aralarında asal olabilecek 2 sayıyıda kontrol edebiliriz.

7 sayısını ele alalım, bir döngü ile 1 den 7 ye kadar olan sayıları döndürerek her gelen sayının 7 ye bölümünden kalana (mod) % oparetörü ile bakabiliriz. Ve bölünmesi halinde oluşacak olan koşul bloğunda daha önce deklare ettiğimiz bir toplam sayısını bir arttırabiliriz. Bu sayede döngü bittiğin de toplam sayısı eğer 2 ise asal, 2 den büyük ise asal değildir sonucuna varacağız.

Az önceki satırın anlaşılması için 7 sayısının işlem basamaklarından bir kaçını yazalım,
1. (7 mod 1) = 0 --> toplam++;
2. (7 mod 2) > 0 --> işlem yapma!
3. (7 mod 3) > 0 --> işlem yapma!
...
...
...
7. (7 mod 7) = 0 --> toplam++;

0 a eşit olan toplam değişkenimiz bu işlemin sonucunda 2 oldu, bu sayede 7 sayısının asal olduğu sonucuna varabiliriz.
 

Devamı

Java Adam Asmaca Oyunu

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu makalem ile en minimal şekil de java da konsol uygulaması olarak adam asmaca oyununu yazacağız.

Vizeye hazırlanırken gece 03:00 sularında örnek olması amacıyla kendi kendime yaptığımı bu basit oyuna bir kaç özellik daha ekleyerek sizlere sunuyorum.

Adam Asmaca'yı tanıyalım :)

Öncelikle şunu söylemeleyim ki herhangi bir grafiksel çalışma söz konusu değil :) Oyun tamamiyle düz yazı üzerinden sahip olduğumuz 10 hak ile bize düşen kelimeyi bilmemizden ibaret.
İlk olarak bir adet kelimeler adında String array tanımlayarak bunun içine kelime hazinemizi döküyoruz. Arından program rasgele bu dizi içinden bir index seçerek döngüye giriyor ve her yanlış girişimiz de 10 hakkımızdan bir tane alıp götürüyor.
Değişkenleri olabildiğince Türkçe deklare ettim umarım anlaşılabilir.
 

Aynı harfi içeren kelimeler

Bu küçük örnekte ki en büyük sorun bir kelime içinde geçen aynı birden fazla harf idi mesela "televizyon" kelimesinde 2 adet e geçiyor, bunu indexOf ile aramamızda bize ilk indexi verecektir. Bunu çözmenin iki yolundan biri döngüye kalan indexten devam ederek indexOf ile aramak ve buna göre işlem yapmak.
Ben de bu yolu düşündüm ve gelen her aynı kelimeyi bir int diziye koordinatlarını (indislerini) aktararak sonraki bir döngüde bunları işledim.

Adam asmaca oyunumuz hayırlı olsun :)
 

Devamı

Mükemmel Sayı Algoritması

By Burak TUNGUT - 21.11.2012 - 4 Yorum - Kategori Java

Bu yazımda mükemmel sayı tanımını yaparak bir sayının mükemmel sayı olup olmadığını kontrol eden algoritmayı yazacağız.

Vize haftası boyunca ara verdiğim blog yazılarıma artık geri dönme vakti gelmişti :) Neyse lafı uzatmadan hemen başlayalım.

Mükemmel sayı nedir ?

Tüm pozitif tam sayı bölenleri toplamı kendine eşit olan sayıya mükemmel sayı deniyormuş. Bu kavramı ilk defa geçen hafta girdiğimiz Programlama Dilleri dersinin vizesinde gördüm. Hemen bir düşüneyim derken 6 sayısını buldum baktığımızda,
6 = 1 * 2 * 3 olarak ayırabilir ve 1+2+3=6 eşitliğinden de mükemmel sayı olduğunu görüyoruz.
 

Mükemmel sayı algoritması

Bir döngü ile 1 den başlayarak parametre ile gelen sayımıza kadar döndürerek, gelen her sayının parametre ile gelen sayının bölümünden kalanına bakarak tam bölünüyorsa daha önce deklare ettiğimiz bir sayıya bu değeri aktarıyoruz.
Döngü bittiğinde deklare edilmiş olan sayı parametre ile gelen sayıya eşit ise mükemmel sayı bulunmuş demektir :)
Umarım yeterince açık olmuştur.
 

Devamı

Java Sesli Sessiz Harf Sayısını Bulma

By Burak TUNGUT - 21.11.2012 - 1 Yorum - Kategori Java

Bu yazımda gelen String değerinin içinde kaç sesli ve kaç sessiz harf geçtiğini bulan bir algoritmayı 2 method ile gerçekleştireceğiz.

Vizelere son bir gün kala yapacağım bu örnekte uykusuzluktan kaynaklanan hatalarımı ve devrik cümlelerimi mazur görünüz :)

Methodlarımızı inceleyelim

Alfabemizde bulunan 26 sayıda bakıcak olursak sesli harfler sessiz harflere göre bir hayli azlar. Bu nedenle gelen değerin sessiz harflerini bulmaktansa, sesli harflerini bularak kendi uzunluğundan çıkartarak sessiz harf sayısını elde etmek daha mantıklı ve performanslı olacaktır.

kacSesli adlı methodumuz da bir adet for döngüsünü 0 dan, gelen değerin uzunluğu kadar döndürüyor ve daha önce bir Stringin içine attığımız büyük ve küçük sesli harflerin gelen değerin içinde kaçkere geçtiğini buluyor ve return ediyoruz.

kacSessiz adlı methodda ise yukarda algoritmasını da belirttiğim gibi gelen değerin uzunluğundan kacSesli methodundan gelen değeri çıkartarak sessiz harflerin sayısını buluyoruz.
 

Devamı

isDigit ile sayi adetini bulma

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu gece ki 2nci yazım ile klavyeden okuyacağımız bir sayının için de kaç tane sayı olduğunu bulacağız.

Genel de TextBox lar da ki denetimler de özellikle şifre girişlerinde "en az şu kadar sayı içermeli".. gibi kontrolleri yapmakta bu tür algoritmalar bize yardımcı oluyor.

Tanıyalım

Hemen Scanner sınıfını kullanarak klavyeden içinde sayıda olabilecek bir parça okuyoruz ve gelen değeri String içine atarak uzunluğu kadar for döngümüzde döndürerek gelen değerin Character.isDigit(int p) methodu ile sayı olup olmadığını geri dönen boolean veri tipiyle kontrol ediyoruz ve içinde kaç adet sayı olduğunu toplam değişkenine toplam++ oparetörümüz ile aktarıyoruz.

Devamı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Facebook
Son Yorumlar