Merhaba arkadaşlar, bu yazımda sizlere .NET Core ile Palindrom Sayı Kontrolü konusundan bahsedeceğim. .NET Core kullanarak bir console uygulaması ile Palindrom sayıları nasıl kontrol edebileceğinizi göstermeye çalışacağım.
Palindrom Sayı Nedir?
Palindrom sayılar, tersten yazıldığında da aynı kalan sayılardır. Örneğin, 121, 12321 ve 454 gibi sayılar palindromdur. Ancak 123 veya 98765 gibi sayılar Palindrom değildir.
.NET Core Console Uygulaması ile Palindrom Sayı Kontrolü
Program.cs dosyası içerisine aşağıdaki kodu ekleyin:
Console.WriteLine("Bir sayı giriniz:");
string input = Console.ReadLine();
if (IsPalindrome(input))
{
Console.WriteLine($"{input} bir palindrom sayıdır.");
}
else
{
Console.WriteLine($"{input} bir palindrom sayı değildir.");
}
static bool IsPalindrome(string number)
{
int length = number.Length;
for (int i = 0; i < length / 2; i++)
{
if (number[i] != number[length - i - 1])
{
return false;
}
}
return true;
}
Kodun Açıklaması
IsPalindrome
Metodu: Bu metot, verilen bir string’in tersten okunup okunmadığını kontrol eder.Main
Metodu: Kullanıcıdan giriş alır ve girilen değeriIsPalindrome
metoduna gönderir.
- Bir for döngüsü kullanılarak stringin ilk yarısı taranır.
- Döngü, stringin ortasına kadar iterasyon yapar (length / 2).
- Bu sayede her karakterin baştan ve sondan eşleşip eşleşmediği kontrol edilir.
- Örneğin, number = “121”:
- Döngü sadece 1 kez çalışır (çünkü 3 / 2 = 1).
- Döngü her adımda şu iki karakteri karşılaştırır:
- Baş taraftaki karakter: number[i]
- Son taraftaki karakter: number[length – i – 1]
- Eğer bu iki karakter eşleşmezse, sayı palindrom değildir ve false döndürülür.
- Örneğin, number = “123” için:
- İlk kontrol: number[0] == ‘1’ ve number[2] == ‘3’ eşleşmez.
- Metot false döner.
Örnek İşleyiş:
- Girilen sayı: “121”
- i = 0
- number[0] == ‘1’
- number[2] == ‘1’
- Eşleşme tamam.
- Döngü sona erdi, çünkü i = length / 2 oldu.
Sonuç: Metot true döner ve “121” bir palindromdur.
Kodları yazdıktan sonra uygulamamızı çalıştırdığımızda Bir sayı girmemizi isteyecek ve sayı girildikten sonra da bu sayının Palindrom sayı olup olmadığı mesajını yazacak.
Palindrom Sayılar ile Örnekler
Bu uygulama ile sadece bireysel sayıları değil, bir sayı dizisini de kontrol edebilirsiniz. Örneğin, kullanıcıdan birden fazla sayı girmesini isteyip, hangi sayıların palindrom olduğunu bulabilirsiniz.
// Ekstra: Birden Fazla Sayıyı Kontrol Etme
Console.WriteLine("Aralarında boşluk bırakarak sayılar giriniz:");
string[] numbers = Console.ReadLine().Split(' ');
foreach (var number in numbers)
{
if (IsPalindrome(number))
{
Console.WriteLine($"{number} bir palindrom sayıdır.");
}
else
{
Console.WriteLine($"{number} bir palindrom sayı değildir.");
}
}
.NET Core ile palindrom sayıları kontrol etmek hem basit hem de eğlencelidir. Bu örnek üzerinden yeni fikirler geliştirebilir, algoritmalarınızı daha da optimize edebilirsiniz.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere…