zoukankan      html  css  js  c++  java
  • 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);
        }
    }
    

      

  • 相关阅读:
    find module providing package github.com/go-sql-driver/mysql: working directory is not part of a module
    深度学习中的epoch、batchsize、iterations的理解
    淘宝软件质量属性分析
    Git
    多线程
    Spark基础之Scala
    机器学习十讲第十讲
    机器学习十讲第九讲
    机器学习十讲第六讲
    本地MarkDown优雅发表
  • 原文地址:https://www.cnblogs.com/passion-sky/p/8554251.html
Copyright © 2011-2022 走看看