第一个算法程序

     一道题目,用1,2,....9组成三个三位数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3,输出所有解。

      这是我的代码:

 public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
   int  i = 0;
   for(i = 123 ;3*i <987; i += 1){
    HashSet<Integer> set = new HashSet<Integer>();
    //此处将abc,efg,hgi的每一位求出放入set中,然后与9比较,来判断其中有没有重复的元素
    set.add(i%10);
    set.add(i/100);
    set.add((i-100*(i/100))/10);
    set.add((2*i)%10);
    set.add((2*i)/100);
    set.add((2*i-100*(2*i/100))/10);
    set.add((3*i)%10);
    set.add((3*i)/100);
    set.add((3*i-100*(3*i/100))/10);
    if(set.size()==9){
     System.out.println(i);
    }   
    
 }        

}

输出这样的abc有这么几个

192
219
267
273
327

这里判断9个数中有没有重复的元素使用的是set中不允许有重复的元素进行判断。

转载于:https://www.cnblogs.com/dongqiSilent/p/3418476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值