0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, ......, 99, 101, 202 şeklinde uzayıp giden sayılar kümesini örnekleyebiliriz. Peki yazılımsal olarak bir sayının "Palindrom Sayı" olduğunu nasıl buluruz.
Aslında basit mantıkla şu şekilde yapabiliriz. Verilen bir sayıyı tersine çeviririz. Tersi ve kendisi eşit ise bu durumda sayımız "Palindrom Sayı" şeklinde ibraz edebiliriz.
Örnek 1)
Sayi = 274;
Tersi = 472;
Sayi ile Tersi eşit olmadığı için 274 sayısı Palindrom bir sayı değildir.
Örnek 2)
Sayi = 383;
Tersi = 383;
Sayi ile Tersi eşit olduğu için 383 sayısı Palindrom bir sayıdır.
Birkaç dilde örnekleyelim.
JavaScript ile Palindrom Sayı Örneği
function fnPalindromKontrol() { var strSonuc = "Palindrom sayı değildir"; var strSayi = "274"; var arrDizi = strSayi.split(""); var arrDiziTers = arrDizi.reverse(); var strSayiTers = arrDiziTers.join(""); if (strSayi == strSayiTers) { strSonuc = "Palindrom bir sayıdır"; } return strSonuc; }
C# ile Palindrom Sayı Örneği
public string fnPalindromKontrol(int intSayi) { string strSonuc = $"{intSayi} palindrom sayı değildir"; char[] chrSayi = intSayi.ToString().ToCharArray(); Array.Reverse(chrSayi); string strSayiTers = new string(chrSayi); int intSayiTers = Convert.ToInt32(strSayiTers); if (intSayi == intSayiTers) { strSonuc = $"{intSayi} palindrom bir sayıdır"; } return strSonuc; }
C# Konsol Örneği
Java ile Palindrom Sayı Örneği
public String fnPalindromKontrol(int intSayi) { String strSayi = Integer.toString(intSayi); String strSonuc = strSayi + " palindrom sayi degildir"; StringBuilder sbSayi = new StringBuilder(); sbSayi.append(strSayi); sbSayi.reverse(); int intSayiTers = Integer.parseInt(sbSayi.toString()); if (intSayi == intSayiTers) { strSonuc = strSayi + " palindrom bir sayidir"; } return strSonuc; }