如何编写Python递归算法来查找两个值之间的回文素数(来自用户)?

如何编写Python递归算法来查找两个值之间的回文素数(来自用户)?,python,recursion,Python,Recursion,回文素数是一种即使数字倒转也能读出相同内容的素数,例如11、101、121、383、3443。 我想写一个程序,要求用户输入两个数字,a和b,程序必须递归地找到a和b之间的所有回文素数并打印出来 def palindrome(seq): if seq == '': return seq else: return palindrome_reverse(seq[1:]) + seq[0] 我有一个函数,palindrome,它可以在将素数转换为字符串

回文素数是一种即使数字倒转也能读出相同内容的素数,例如11、101、121、383、3443。 我想写一个程序,要求用户输入两个数字,a和b,程序必须递归地找到a和b之间的所有回文素数并打印出来

def palindrome(seq):
    if seq == '':
        return seq
    else:
        return palindrome_reverse(seq[1:]) + seq[0]
我有一个函数,palindrome,它可以在将素数转换为字符串后递归地反转素数。我正在努力创建一个递归函数来检查一个数字是否是素数和回文,它还必须保存这些值并打印出来

def palindrome(seq):
    if seq == '':
        return seq
    else:
        return palindrome_reverse(seq[1:]) + seq[0]
这是程序的预期输出:

输入第一个数字:50
输入第二个数字:150
50到150之间的回文素数为:
101
121
131

我在这里讨论递归部分:-)

我不懂python,所以我将用java共享一个解决方案。 由于原始性不是一个递归问题,我让你们在算法中介绍它;-)

以下是我的解决方案:

package palyndromic;
public class Palindrome {   
    static boolean isPalindrome(String number)
    {
        if(number.length() < 2)
        {   // Your string is either empty or one character long. ==> Palindrome
            return true;
        }
        else if(number.length() == 2)
        {   // if your number is 2 char only, it is a palindrome when both characters are the same
            return number.charAt(0) == number.charAt(1);
        }
        else
        {
            // If your number is more than 2 chars, the bounds must be identical and the inner number must be a palindrome too.
            boolean boundAreSame = number.charAt(0) == number.charAt(number.length()-1);
            boolean innerStringIsPalindrome = isPalindrome(number.substring(1, number.length()-1)); 
            return boundAreSame && innerStringIsPalindrome;
        }
    }
    static boolean isPrime(int number)
    {
        return true; // Implement it as you wish
    }

    public static void main(String[] args) {

            for (int i = 50; i < 150; i++) {
                if(isPalindrome(Integer.toString(i)) && isPrime(i))
                    System.out.println(i + " is a prime palindrome");
            }           
    }

}

欢迎使用StackOverflow=)

查看您是否可以使用您编写的程序的部分更新您的问题,即使这些部分不起作用。您需要一种方法来检查primalty(或列出prime的方法)。有很多选择!e、 g.这里:或者这里,或者这里