H1 7-19暴力小学(二年级篇)-求出2个三位数 (10分)

小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩也是中等水平。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。在这里插入图片描述

输入格式:
输入是这个差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]);        
                    }    
                    }
                    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值