• 蓝桥杯三羊献瑞题目


    今天开始做了做蓝桥杯的题目,题目是三羊献瑞,这道题目开始做,一点思路都没有,但是硬着头皮写下去,用循环暴力求,java都运行了好久,好几10秒,所以在蓝桥杯上估计是超时了。运行出了几个答案,再进行,排除,终于找到了唯一的一个答案。首先,我们来看一下题目。

    1.题目描述

      
    三羊献瑞

    观察下面的加法算式:

          祥 瑞 生 辉   
      +   三 羊 献 瑞
    -------------------
       三 羊 生 瑞 气

    (如果有对齐问题,可以参看【图1.jpg】)

    其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

    请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

    2.输入:

    3.输出

    1085

    4.算法思想:

    三 a
    羊 b
    生 c
    瑞 d
    气 e
    祥 f
    辉 g
    献 h
               fdcg
              + abhd
                  -----
               abcde   

    得到这样的算式,然后,用暴力循环

    5.代码示例:

    /*
    add1 = 9567, add2 = 1085, add3 = 10652
     */
    public class Test05 {
        public static void main(String[] args) {
            int add1 = 0;
            int add2 = 0;
            for(add1=9200;add1<9800;add1++){
                for(add2=1000;add2<1300;add2++){
                    int[] f1 = f(add1);
                    int[] f2 = f(add2);
                    int[] f3 = f(add1+add2);
                    if(!isReapead(add1) && !isReapead(add2) && !isReapead(add1+add2) && f1[1]==f2[3] && f3[0]==f2[0] && f3[1]==f2[1] && f3[2]==f1[2] && f3[3]==f2[3]){
                        System.out.println("add1 = " + add1 + ", add2 = " + add2 + ", add3 = " + (add1+add2));
                    }
                }
            }
        }
    
        private static boolean isReapead(int shu) {
            int[] f = f(shu);
            int flag = 0;
            for(int i=0;i<f.length-1;i++){
                for(int j=i+1;j<f.length;j++){
                    if(f[j]==f[i]){
                        flag = 1;
                    }
                }
            }
            if(flag ==1){
                return true;
            }else{
                return false;
            }
        }
    
        private static int[] f(int shu) {
            String valueOf = String.valueOf(shu);
            char[] charArray = valueOf.toCharArray();
            int temp[] = new int[charArray.length];
            for(int i=0;i<temp.length;i++){
                temp[i] = charArray[i] - '0';
            }
            return temp;
        }
    }
    

      



  • 相关阅读:
    Spring AOP功能
    EasyUI组件treegrid构建树形组织机构
    EasyUI树形表格显示Json数据
    Java 操作Redis
    Linux安装Redis、后台运行、系统自启动
    SpringBoot-Helloworld
    中小后台系统UI框架--EasyUI
    Spring注解--实现applicationContext.xml效果
    Mybatis XML映射文件
    python初学者必看学习路线图!!!
  • 原文地址:https://www.cnblogs.com/zzlback/p/8491049.html
Copyright © 2020-2023  润新知