Lasa Sayı – Algoritma Örnekleri Java #2

 Java algoritma örnekleri serimizde ikinci örnek Lasa sayıları.

Lasa sayı nedir?

Lasa sayı, tersten yazıldığında da asal olan sayılara denirHerhangi bir kullanım alanı olmadığı için evrensel bir terimle ifade edilmemiş ve asal kelimesinin tersten yazımıyla ifade edilmiştir.
 
Sorumuzda ise 10.000’e kadar kaç tane lasa sayı vardır bunu soruyoruz.
 
Çözüm:
 
Asal kontrolü yapmak için asal_kontrol isimli methodumuzu tanımlıyoruz. Methodumuzda true ya da false değerlerini döndürdüğümüz için methodun tipi boolean olacak. 2’den başlayarak sayıya kadar olan sayıları, sayımıza bölüyoruz eğer bölünen sayımız varsa false değerini döndürüyoruz yani sayımız asal değil. Eğer bölünen bir sayımız var ise sayı asal oluyor ve true değerini döndürüyoruz.
 
ters_yazma methodumuzda sayı 0’dan büyük olduğu müddetçe sırasıyla ters değişkenini 10 ile çarpıyoruz ve sayinin 10’da modunu ekliyoruz en sonunda ise sayımızı 10’a bölüyoruz.  Buradaki amacımız sayının her bir basamağındaki elemanları alıp ters bir şekilde yazdırmak.
 

En sonunda main fonksiyonumuzda 2’den 10.000’e kadar olan sayılarda sayımızın ve sayımızın tersinin asallığını kontrol ediyoruz eğer ikisi de true değerlerini döndürüyor ise sayacımızı 1 arttıyoruz. For döngümüz bittiğinde ise sayacımızı yazdırıyoruz.

 
public class Lasa {
public static void main(String arg[]) {
int lasa_sayac = 0;
 for(int i=2;i<10000;i++) {
if (asal_kontrol(i) && asal_kontrol(ters_yazma(i))) {
lasa_sayac++;
 }
}
System.out.println(lasa_sayac); }
public static boolean asal_kontrol(int sayi){
for(int i=2;i<sayi;i++){
if(sayi%i==0) {
return false;
 }
}
return true;
 }
public static int ters_yazma(int sayi){
int ters = 0;
 while(sayi>0){
ters*=10;
 ters+=sayi%10;
 sayi/=10;
 }
return ters;
 }

}

 


Tahsin ALTINTAŞ

Computer science 4 life mottosuyla yola çıkmış bir bilgisayar mühendisi.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir