题目
题目描述:
输入正整数n,,其中a~j恰好为0~9的一个排列,2<=n<=79.
输入:
输入正整数n
输出:
按从小到大的顺序输出所有形如abcde / fghij = n的表达式,注意开头是0也要输出
样例输入
62
样例输出
79546/01283=62 94736/01528=62
思路
暴力枚举即可
要注意四位数和五位数的两种不同情况
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n=scan.nextInt();
for(int i=1234;i*n<=98765;i++) {
if(i<12345&&ok(i,i*n)) {
System.out.println(i*n+"/0"+i+"="+n);
}
else if(i>=12345&&ok(i,i*n)) {
System.out.println(i*n+"/"+i+"="+n);
}
}
}
private static boolean ok(int num1,int num2) {
int[] a=new int[10];
a[0]=0;
for(int i=0;i<5;i++)
{
a[num1%10]++;
num1/=10;
}
for(int i=0;i<5;i++)
{
a[num2%10]++;
num2/=10;
}
for(int i=0;i<10;i++)
{
if(a[i]!=1)
return false;
}
return true;
}
}