小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩也是中等水平。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。
输入格式:
输入是这个差D(图中例子的差D为93),D为正整数。
输出格式:
第一行输出所有解的数目K,随后K行按照被减数从小到大的顺序输出所有解。
输入样例:
例如输入:
93
输出样例:
输出样例:
4
246-153
354-261
516-423
624-531
这一题困难之处:所有解的个数和在所有解之前输出
public class Main{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n =scanner.nextInt();
//ArrayList<String> sArrayList=new ArrayList<String>();
int count=0;
int t;
int [] aa=new int [100];
int [] bb=new int [100];
for (int a1 = 1; a1 <=6; a1++) {
for (int a2 = 1; a2<=6 ; a2++) {
for (int a3 = 1; a3 <=6 ; a3++) {
for (int b1 = 1; b1 <=6 ; b1++) {
for (int b2 = 1; b2 <=6; b2++) {
for (int b3 = 1; b3 <=6 ; b3++) {
if((a1*100+a2*10+a3-b1*100-b2*10-b3==n) &&a1!=a2&&a1!=a3&&a1!=b1&&a1!=b2
&&a1!=b3&&a2!=a3&&a2!=b1&&a2!=b2
&&a2!=b3&&a3!=b1&&a3!=b2&&a3!=b3
&&b1!=b2&&b1!=b3&&b2!=b3) {
aa[count]=a1*100+a2*10+a3;
bb[count++]=b1*100+b2*10+b3;
}
}
}
}
}
}
}
for(int i=0;i<count-1;i++) {
for(int j=i;j<count;j++) {
if(aa[i]>aa[j]){
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
t=bb[i];
bb[i]=bb[j];
bb[j]=t;
}
}
}
System.out.println(count);
for (int i = 0; i < count; i++) {
System.out.printf("%d-%d\n",aa[i],bb[i]);
}
}
}