当前位置:编程学习 > JAVA >>

java金蝉素数


public class jinchansushu {


public static void main(String[] args) {
int t=0;
int sum=0;
for(int i=10000;i<100000;i++){
int a=i/10000;
int b=i%10000/1000;
int c=i%10000%1000/100;
int d=i%10000%1000%100/10;
int e=i%10000%1000%100%10;

if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e){
t=b*100+c*10+e;

for(int j=2;j<=t;j++){
if(t%j==0&&t==j){
sum=c;
for(int k=2;k<=sum;k++){
if(sum%k==0&&sum==k){
System.out.println(i);
}
}
}
}


}
}
}
}
求修改 --------------------编程问答-------------------- 金蝉素数是不是就是 5位 由1,3,5,7,9 这几个数字组成且不重复的数字?

public static void main(String[] args) {
int t=0;
int sum=0;
outer : for(int i=10000;i<100000;i++){
int a=i/10000;
int b=i%10000/1000;
int c=i%10000%1000/100;
int d=i%10000%1000%100/10;
int e=i%10000%1000%100%10;
Set<Integer> s = new HashSet<Integer>(Arrays.asList(a , b , c , d , e));
if(s.size() == 5){
for (int j : s.toArray(new Integer[0])) {  
if(j % 2 ==0)
continue outer;
}
System.out.println(i);
}
}
}
--------------------编程问答-------------------- 我是新手啊,表示看不懂你写得,你能不能在我的程序上面改 --------------------编程问答-------------------- 不知理解的对否,楼主参考:


public class JinChanSuShu 
{
  public static void main(String[] args)
  {
    int t=0,a,b,c,d,e;
    int sum=0;
    System.out.println("找到下列金蝉素数:");
    for(int i=10001;i<100000;i++)
    {
      a=i/10000;
      b=i%10000/1000;
      c=i%10000%1000/100;
      d=i%10000%1000%100/10;
      e=i%10000%1000%100%10;

      //金蝉素数不含 0,2,4,6,8。而且没有重复数。
      //
      if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e&&a!=2&&a!=4&&a!=6&&a!=8&&a!=0 &&b!=2&&b!=4&&b!=6&&b!=8&&b!=0&&
                     c!=2&&c!=4&&c!=6&&c!=8&&c!=0&& d!=2&&d!=4&&d!=6&&d!=8&&d!=0&& e!=2&&e!=4&&e!=6&&e!=8&&e!=0)
       {
         if(isSuShu(c))//看中间的数是否素数。是继续,否则下一个数。
         {
             t=b*100+c*10+d;//中间一位是素数,看中间三个数。判断是否素数。
             {
                  if(isSuShu(t))
                  {
                      if(isSuShu(i))//中间一位,中间3位都是素数,看这5位数是不是。是就输出。
                          {
                              System.out.println(i);
                          }
                  }
             }
         }
      }
    }
  }

  public static boolean isSuShu(int x)//判断一个数是否素数.
  {
      if(x<3)
      {
           return true;
      }
      for(int m=2;m<=x/2;m++)
      {
          if(x%m==0)
          {
              return false;
          }
      }
      return true;
  }
}
补充:Java ,  Eclipse
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,