Girişdəki ədədi sətir kimi simvol massivinə kimi oxuyaq. ilə massivinin uzunluğu, son simvol indeksindən çıxılmış halını göstərək. Simvolun palindrom olması üçün, bütün 0 \le i \le len / 2 üçün s[i] = s[len - i] şərti ödənilməlidir.
Məsələn, uzunluğu olan ədədinə baxaq. Onda len = 7 - 1 = 6. Aşağıdakı bərabərliklərə sahibik:
s[0] = s[6 - 0] = s[6] = '4';
s[1] = s[6 - 1] = s[5] = '5';
s[2] = s[6 - 2] = s[4] = '7';
Algoritmin reallaşdırılması
Girişdəki ədəd simvol massivində olaraq saxlanılır.
char s[50];Girişdəki ədədi sətir kimi oxuyuruq. olaraq son rəqəmin indeksini təyin edirik.
gets(s);
len = strlen(s) - 1;flag = 0, yəni ədədin palindrom olduğunu göstərir, olaraq təyin edirik.
flag = 0;Əgər hər hansı üçün bərabərlik s[i] = s[len - i] pozulursa, ədəd palindrom deyil və flag = 1 təyin edirik.
for(i = 0; i <= len / 2; i++)
if (s[i] != s[len - i]) flag = 1;dəyişənin dəyərindən asılı olaraq nəticəni çap edirik.
if (flag == 0) printf("Yes\n"); else printf("No\n");Algoritmin reallaşdırılması — IsPalindrome funksiyası
Girişdəki ədəd simvol massivində olaraq saxlanılır.
char s[50];IsPalindrome funksiyası sətirinin palindrom olub olmadığını yoxlayır.
int IsPalindrome(char *s)
{
int i = 0, j = strlen(s) - 1;
while(i < j)
{
if (s[i] != s[j]) return 0;
i++; j--;
}
return 1;
}Proqramın əsas hissəsi. Girişdəki ədədi sətir kimi oxuyuruq.
gets(s);sətirinin palindrom olub olmadığını yoxlayırıq.
flag = IsPalindrome(s);dəyişənin dəyərindən asılı olaraq nəticəni çap edirik.
if (flag == 1) printf("Yes\n"); else printf("No\n");Algoritmin reallaşdırılması — STL reverse
Girişdəki ədədi olaraq sətir kimi oxuyuruq.
cin >> p;sətirini tərsinə çeviririk: = reverse(p).
q = p; reverse(q.begin(),q.end());və sətirləri eynidirsə, giriş sətiri palindromdur.
if (p == q) printf("Yes\n"); else printf("No\n");Java reallaşdırılması
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char[] s = con.nextLine().toCharArray();
int flag = 0, len = s.length - 1;
for(int i = 0; i < len - i; i++)
if (s[i] != s[len - i]) flag = 1;
if (flag == 0)
System.out.println("Yes");
else
System.out.println("No");
con.close();
}
}Java reallaşdırılması — IsPalindrome funksiyası
import java.util.*;
public class Main
{
public static int IsPalindrome(String s)
{
int i = 0, j = s.length() - 1;
while(i < j)
{
if (s.charAt(i) != s.charAt(j)) return 0;
i++; j--;
}
return 1;
}
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
String s = con.next();
int flag = IsPalindrome(s);
if (flag == 1)
System.out.println("Yes");
else
System.out.println("No");
con.close();
}
}Python reallaşdırılması
Girişdəki ədədi sətir kimi oxuyuruq.
a = input()sətirinin tərsini almaq üçün a['::-1'] istifadə edin. sətiri tərsi ilə uyğundursa, müvafiq cavabı çap edirik.
if a == a[::-1]:
print("Yes")
else:
print("No")