How about a Perl compatible regular expression for grep? I guess that's an algorithm.
This one will search for seven-letter palindromes:
grep -P '(?=^.{7}$)(.)(.)(.).\3\2\1' /path/to/your/dictionary
The -P flag let's grep recognize perl compatible regular expressions (PCRE).
The (?=^.{7}$) looks ahead to make sure it's matching a seven-letter word.
The \1 is a backreference to the first (.) which matches any character. But now it has to match it again, except we're asking it to match in reverse order, \3\2\1 instead of \1\2\3.
Then we have a single dot for the fourth letter, which will match any character.
Just add or subtract subexpressions "(.)" as needed, along with the appropriate number backreferences "/1" to find palindromes.
This is the output from grepping the TWL (the Scrabble dictionary):
deified
halalah
reifier
repaper
reviver
rotator
sememes
There is no palindrome for 14.
#include <stdio.h> #include <conio.h> #include <string.h> void input(char a[ ]) { int i; printf("\n enter string\n"); scanf("%s",a); } void output(char a[ ]) { printf("\n string is %s",a); } int palindrome(char a[ ]) { int n,i; n=count(a); n=n-1; i=0; for(;a[n]==a[i] && n>=i;i++,n--); if(n>=i) return 0; else return 1; } void main( ) { char a[80],b[80],s; int n; printf("\n check palindrome"); input(a); n=palindrome(a); output(a); if(n==1) printf("\n palindrome"); else printf("\n not palindrome"); getch(); }
#include <stdio.h> #include <conio.h> #include <string.h> void input(char a[ ]) { int i; printf("\n enter string\n"); scanf("%s",a); } void output(char a[ ]) { printf("\n string is %s",a); } int palindrome(char a[ ]) { int n,i; n=count(a); n=n-1; i=0; for(;a[n]==a[i] && n>=i;i++,n--); if(n>=i) return 0; else return 1; } void main( ) { char a[80],b[80],s; int n; printf("\n check palindrome"); input(a); n=palindrome(a); output(a); if(n==1) printf("\n palindrome"); else printf("\n not palindrome"); getch(); }
#include <stdio.h> #include <conio.h> #include <string.h> void input(char a[ ]) { int i; printf("\n enter string\n"); scanf("%s",a); } void output(char a[ ]) { printf("\n string is %s",a); } int palindrome(char a[ ]) { int n,i; n=count(a); n=n-1; i=0; for(;a[n]==a[i] && n>=i;i++,n--); if(n>=i) return 0; else return 1; } void main( ) { char a[80],b[80],s; int n; printf("\n check palindrome"); input(a); n=palindrome(a); output(a); if(n==1) printf("\n palindrome"); else printf("\n not palindrome"); getch(); }
Ere is a preposition that is a palindrome.
No, it isn't a palindrome.
The palindrome is Level.
def isPalindrome(s): return s == s[::-1] then just call the function with a string like isPalindrome('poop')
Any number that is is a palindrome will always be a palindrome.
No. A palindrome reads the same backwards and forwards. 5791111975 is an example of a palindrome.
The palindrome is Gig.
"Saltcaps" is a palindrome for plastic.