解题思路:
注意事项:
参考代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
// 每个符合条件的数字第一位肯定是2,3,5,7
f(2,n);
f(3,n);
f(5,n);
f(7,n);
}
public static void f(long i,int n)
{
if(n==1)//n=1时数字长度为n
{
if(su(i))
System.out.println(i);
}
if(su(i))
{// 除了第一位,后面的几位数肯定是1,3,7,9
f(i*10+1,n-1);
f(i*10+3,n-1);
f(i*10+7,n-1);
f(i*10+9,n-1);
}
}
public static boolean su(long n)// 高效率判断素数
{
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{return false;}
}
return true;
}
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:628 |
【矩阵】 (C++代码)浏览:938 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:668 |
简单的a+b (C语言代码)浏览:524 |
IP判断 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:677 |
数列排序 (C语言代码)浏览:607 |
分解质因数 (C++代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:534 |