zoukankan      html  css  js  c++  java
  • java实现第四届蓝桥杯颠倒的价牌

    颠倒的价牌

    题目描述
    小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。

    其标价都是4位数字(即千元不等)。

    小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见p1.jpg)。

    这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!!

    当然,多数情况不能倒读,比如,1110 就不能倒过来,因为0不能作为开始数字。

    有一天,悲剧终于发生了。某个店员不小心把店里的某两个价格牌给挂倒了。并且这两个价格牌的电视机都卖出去了!

    庆幸的是价格出入不大,其中一个价牌赔了2百多,另一个价牌却赚了8百多,综合起来,反而多赚了558元。

    请根据这些信息计算:赔钱的那个价牌正确的价格应该是多少?

    答案是一个4位的整数,请通过浏览器直接提交该数字。
    注意:不要提交解答过程,或其它辅助说明类的内容。
    在这里插入图片描述

    public class Main {
        public static void main(String[] args) {
            int k = 0;
            int x = 0;
            int[] k2 = new int[24];
            int[] x2 = new int[12];
            int[] z = new int[24];
            int[] w = new int[12];
            for(int a=1;a<10;a++) {
                if(a==3||a==4||a==7)
                    continue;
                int a1 = a;
                if(a == 6) {
                    a1 = 9;
                } 
                if(a == 9){
                    a1 = 6;
                }
    
                for(int b=0;b<10;b++) {
                    if(b==3||b==4||b==7)
                        continue;
                    int b1 = b;
                    if(b == 6) {
                        b1 = 9;}
                    if(b == 9){
                        b1 = 6;}
                    for(int c=0;c<10;c++) {
                        if(c==3||c==4||c==7)
                            continue;
                        int c1 = c;
                        if(c == 6){
                            c1 = 9;}
                        if(c == 9){
                            c1 = 6;}
                        for(int d=1;d<10;d++) {
                            if(d==3||d==4||d==7)
                                continue;
                            int d1 = d;
                            if(d == 6){
                                d1 = 9;}
                            if(d == 9){
                                d1 = 6;}
                            int num = a*1000+b*100+c*10+d;
                            int num2 = d1*1000+c1*100+b1*10+a1;
                            if(num-num2>200 && num-num2<300) {
                                z[k] = num-num2;
                                k2[k] = num;
                                k++;
                            }
                            if (num2-num>800 && num2-num<900) {
                                w[x] = num2-num;
                                x2[x] = num;
                                x++;
                            }
    
    
                        }
                    }
                }
            }
            for(int i=0;i<24;i++) {
                for(int j=0;j<12;j++) {
                    if(w[j]-z[i]==558)
                        System.out.println(k2[i]+" "+x2[j]);
                }
    
            }
            System.out.println(k + " " + x);
        }
    
    
    }
    
    
  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947513.html
Copyright © 2011-2022 走看看