• 23全排列:马虎的算术


    【题目】 
    小明是一个急性子,上小学的时候经常把老师写在黑板上的题目抄错。 
    有一次,老师出得题目是:36*495=? 他却给抄成了:396*45=? 
    但结果却很戏剧性,他的答案竟然是对的!! 
    因为36*495=396*45=17820 
    类似这样的巧合情况可能还有很多, 
    比如:27*594=297*54 
    假设a b c d e代表1-9不同的5个数字(注意是各不相同的数字,且不含0) 
    能满足形如:ab*cde=adb*ce这样的算式一共有多少种呢?

    【分析】 
    构造5个元素的数组,从9个数字的数组中取数字,找出所有的可能性。 
    注意递归和回溯。

    import java.math.BigInteger;
    import java.util.*;
    
    public class Lanq {
    
        public static void main(String[] args) {
            组素数();
        }
    
        public static void 组素数() {
            Scanner sc = new Scanner(System.in);
           int a=1,b=1,c=1,d=1,e=1;
           Set s=new TreeSet();
           int cnt=0;
           for(a=1;a<=9;a++)
               for(b=1;b<=9;b++)
                   for(c=1;c<=9;c++)
                       for(d=1;d<=9;d++)
                           for(e=1;e<=9;e++)
                           {
                               s.clear();
                               int t1=a*10+b;
                               int t2=c*100+d*10+e;
                               int t3=a*100+d*10+b;
                               int t4=c*10+e;
                               if(t1*t2==t3*t4){
    
                                   s.add(a);s.add(b);s.add(c);s.add(d);s.add(e);
                                   if(s.size()==5){
                                       System.out.println(a+""+b+""+c+""+d+""+e);
                                       cnt++;
                                   }
                               }
                           }
                           System.out.println(cnt);
        }
    }
    

      

  • 相关阅读:
    到具体某一天的倒计时
    angular2 2种方式----获取子组件的类属性和类方法
    页面刷新
    angular父子组件传值
    div垂直居中,文字垂直居中!!!
    Python 基础数据类型 II (列表)
    Python 基础数据类型 I (str等)
    学习笔记411
    20190407 Word合并单元格
    VBA正则笔记 理解肯定环视
  • 原文地址:https://www.cnblogs.com/passion-sky/p/8554251.html
Copyright © 2020-2023  润新知