逆序集式
逆序集式
南桥北木 发表于10个月前
逆序集式
  • 发表于 10个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

import java.util.Scanner;

public class Testa {

public static void main(String[] args) {
	System.out.println("请输入n:(代表求多少个连续的合数)");
	Scanner reader=new Scanner(System.in);
	int n=reader.nextInt();
	int min=(int) Math.pow(10,n-1);
	int max=(int) (Math.pow(10,n)-1);
	int total=0;
 for(int i=min;i<max;i++){
	 for(int j=i+1;j<max;j++){
		boolean a=f(i);
		
		if(a){
			boolean b=f(j);
			if(b){
				boolean ok=g(i,j);
				if(ok){
					total++;
				System.out.println("符合条件:"+i+" "+j);
			}
			}
		}else{break;}
	 }
	 
 }	
	System.out.println(total);
}

//去重

public static boolean f(int n){
	String result=String.valueOf(n);
	
	int length=result.length();
	
	for(int i=0;i<length-1;i++){
		for(int j=i+1;j<length;j++){
			char a=result.charAt(i);
			char b=result.charAt(j);
			if(a==b){
				return false;
			}
		}
	}
	
	return true;
	
}

//判断是否符合条件 public static boolean g(int a,int b){ int m=a; int n=b; int x=k(m); int y=k(n);

	 if(m!=y&&m<x&&m<y){
	 if((x*y)==(m*n)){
		 return true;
	 }
	 }
	 
	return false;
}

//将数逆序,n代表传入的数

public static int k(int n){
	
	int m=n;
	String result=String.valueOf(m);
	int leng=result.length()-1;
	int temp;
	int sum;
	sum=0;
	
	temp=m%10;
	sum =(int) (sum+Math.pow(10,leng)*temp);
	
	m=m/10;
	
	while(m>=10){
		temp=m%10;
		leng--;
		sum=(int) (sum+Math.pow(10,leng)*temp);
		m=m/10;
	}
	leng--;
	sum=(int) (sum+Math.pow(10,leng)*m);
 
	return sum;
	
}

}

共有 人打赏支持
粉丝 0
博文 109
码字总数 19397
×
南桥北木
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: