26金蟾素数

本文介绍了一种特殊的素数序列,这些素数即使去掉首位数字和仅保留中间数字后仍保持素数特性。通过提供的Java程序,我们可以找出所有符合条件的五位素数,并展示其核心算法。

题目】 
考古发现某古墓石碑上刻着一个数字:13597,后研究发现: 
这是一个素数! 
并且,去掉首尾数字仍是素数! 
并且,最中间的数字也是素数! 
这样特征的数字还有哪些呢?通过以下程序的帮助可以轻松解决。 
请仔细阅读代码,并填写划线部分缺失的代码。

public class sad  
{  
    static boolean isPrime(int n)  
    {  
        if(n<=1) return false;  
        for(int i=2; i*i<=n; i++){  
            if(n%i==0) return false;  
        }  
        return true;  
    }  
      
    static void f(int[] x, int k)  
    {  
        if( k== x.length()-1){  // 填空位置  
            if(isPrime(x[0]*10000 + x[1]*1000 + x[2]*100 + x[3]*10 + x[4]) &&  
                isPrime(x[1]*100 + x[2]*10 + x[3]) &&  
                isPrime(x[2]))  
                System.out.println(""+x[0]+x[1]+x[2]+x[3]+x[4]);  
            return;  
        }  
          
        for(int i=k; i<x.length; i++){  
            {int tmp=x[k]; x[k]=x[i]; x[i]=tmp; }  
            f(x,k+1);  
            {int tmp=x[k]; x[k]=x[i]; x[i]=tmp; }  
        }  
    }  
      
    static void test()  
    {  
        int[] x = {1,3,5,7,9};  
        f(x,0);  
    }  
      
    public static void main(String[] args)  
    {  
        test();  
    }  
}  

  

转载于:https://www.cnblogs.com/passion-sky/p/8566614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值