• 回文素数


    求出大于或等于 N 的最小回文素数。

    回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数

    例如,2,3,5,7,11 以及 13 是素数。

    回顾一下,如果一个数从左往右读与从右往左读是一样的,那么这个数是回文数。

    例如,12321 是回文数。

    示例 1:

    输入:6
    输出:7
    

    示例 2:

    输入:8
    输出:11
    

    示例 3:

    输入:13
    输出:101

    提示:

    • 1 <= N <= 10^8
    • 答案肯定存在,且小于 2 * 10^8
     1 import java.util.Scanner;
     2 
     3 class Solution2 {
     4 
     5     public boolean isPrime(int number) {
     6         for (int i = 2; i <= Math.sqrt(number); i++) {
     7             if (number % i == 0) {
     8                 return false;
     9             }
    10         }
    11         return true;
    12     }
    13 
    14     public boolean isPalindrome(int[] number, int len) {
    15         for (int j = 0; j < len / 2; j++)
    16             if (number[j] != number[len - j - 1]) return false;
    17         return true;
    18     }
    19 
    20     public int primePalindrome(int number) {
    21         if (number <= 2) return 2;
    22         number = number % 2 == 0 ? number + 1 : number;
    23         for (int i = number; ; ) {
    24             int k = i, len = 0;
    25             int[] nums = new int[10];
    26             while (k / 10 != 0) {
    27                 nums[len++] = k % 10;
    28                 k /= 10;
    29             }
    30             nums[len++] = k;
    31             if (len % 2 == 0 && i != 11)
    32                 i = (int) Math.pow(10, len) + 1;
    33             else {
    34                 if (isPalindrome(nums, len))
    35                     if (isPrime(i)) return i;
    36                 i += 2;
    37             }
    38         }
    39 
    40     }
    41 }
    42 
    43 public class PrimePalindrome {
    44     public static void main(String[] args) {
    45         Scanner scan = new Scanner(System.in);
    46         int read = scan.nextInt();
    47         Solution2 sol = new Solution2();
    48         System.out.println(sol.primePalindrome(read));
    49     }
    50 }
  • 相关阅读:
    shell生成随机数 shell脚本生成随机数作为kafka的生产者
    使用Azkaban调度Spark任务
    Azkaban3.57.0的编译安装以及简单使用
    centos上安装gradle
    azkaban(版本2.5.0)安装
    261 相对布局之1— 相对布局的作用
    260 线性布局之3—线性布局案例演示
    259 线性布局之2—线性布局的使用
    258 线性布局之1—线性布局的作用
    257 布局基础之3—添加布局的方式
  • 原文地址:https://www.cnblogs.com/sigmod3/p/9534407.html
Copyright © 2020-2023  润新知