2013年蓝桥杯真题[通俗易懂]

  1.某人年龄的立方是4位数,年龄的四次方是6位数,这10位数包含0到9,每个恰好出现一次,求他年龄多大publicclassOne{publicstaticvoidmain(String[]args){for(inti=10;i<100;i++){inti1=i*i*i;int…

大家好,又见面了,我是你们的朋友全栈君。

  1. 某人年龄的立方是4位数,年龄的四次方是6位数,这10位数包含0到9,每个恰好出现一次,求他年龄多大

public class One {
 public static void main(String[] args) {
     for (int i = 10; i < 100; i++) {
        int i1 = i*i*i;
        int i2 = i1*i;
        String s1 = i1+"";
        String s2 = i2+"";
        if(s1.length()==4&&s2.length()==6&&check(s1+s2)) {
            System.out.println(i);
            break;
        }
    } 
 }
//验证十位包含0到9
private static boolean check(String s) {
    //去重
    Set<Character> set = new HashSet<Character>();
    for(int i=0;i<s.length();i++) {
        set.add(s.charAt(i));
    }
    return set.size()==10;
}
}    

 

  2.  1 9 4 9四位数随意摆放它们的先后顺序,能组成多少个4位的素数

//重复数据的全排列+检查
public class One{

    static void f(int[] arr, int k) {
        if (k == 4)// 前面的已经确定,k为数组下标
            check(arr);
        for (int i = k; i < 4; i++) {
            // 交换
            int t = arr[k];
            arr[k] = arr[i];
            arr[i] = t;
            // 递归调用
            f(arr, k + 1);
            // 交换回来
            t = arr[k];
            arr[k] = arr[i];
            arr[i] = t;
        }
    }

    // 去重
    static Set<Integer> set = new HashSet<Integer>();

    // 验证十位数包含0到9
    private static void check(int[] arr) {
        // TODO Auto-generated method stub
        boolean flag = true;
        int x = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];
        for (int i = 2; i <= Math.sqrt(x); i++) {
            // 被二整除不是素数
            if (x % i == 0) {
                flag = false;
                break;
            }
        }
        // 素数添加到集合中
        if (flag) {
            set.add(x);
        }

    }

    public static void main(String[] args) {
        int arr[] = { 1, 9, 4, 9 };
        f(arr, 0);
        System.out.println(set.size());
    }

}
    

 

  3. 假设 a b c d e 代表1-9不同的5个数字(注意是各不相同的数字,且不含0),能满足 ab * cde = adb * ce 这样的算式一共多少种?

public class One {
    public static void main(String[] args) {
        int count = 0;
        //a,b,c,d,e都不等于零且它们不相等
        for (int a = 1; a < 10; a++) {
            for (int b = 1; b < 10; b++) {
                if (b != a) {
                    for (int c = 1; c < 10; c++) {
                        if (c != a && c != b) {
                            for (int d = 1; d < 10; d++) {
                                if (d != a && d != b && d != c) {
                                    for (int e = 1; e < 10; e++) {
                                        if (e != a && e != b && e != c && e != d) {
                                            if ((a * 10 + b) * (c * 100 + d * 10 + e) == (a * 100 + d * 10 + b)
                                                    * (c * 10 + e)) {
                                                count++;
                                                System.out.printf(
                                                        "(%d*10+%d)*(%d*100+%d*10+%d)==(%d*100+%d*10+%d)*(%d*10+%d)==%d\n",
                                                        a, b, c, d, e, a, d, b, c, e,
                                                        (a * 100 + d * 10 + b) * (c * 10 + e));
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        System.out.println(count);
    }
}

 

  4.三十九层台阶一共走偶数步,在只能迈上1个或2个台阶的条件下一共要多少种走法?

public class One5{
    public static void main(String[] args) {
        f(39,0);
        System.out.println(count);
    }
/**
 * 
 * @param i 剩下的台阶数
 * @param j 已走的台阶数
 */
    static int count;
    private static void f(int i, int j) {
        // TODO Auto-generated method stub
        if(i<0) {
            return;
        }
        if(i == 0) {
   
   //39层台阶全走完
            if(j%2==0) {
                count++;
            }
            return;
        }
        f(i-1,j+1);//一步走一个台阶
        f(i-2,j+1);//一步走两个台阶
        
    }
}

 

转载于:https://www.cnblogs.com/chaunceyji/p/10503617.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128792.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是SOA架构?为什么使用SOA架构?

    什么是SOA架构?为什么使用SOA架构?SOA架构简介面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互**SOA具有以下五个特征**1.可重用;2.松耦合;3.明确定义的接口;…

    2022年6月24日
    29
  • intellij idea2021 beta 激活码_通用破解码[通俗易懂]

    intellij idea2021 beta 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    78
  • 银行机构代码_工商银行怎么查12位行号

    银行机构代码_工商银行怎么查12位行号因为做到绑定银行卡的时候,需要定义一下银行卡的代号。  找了一下这方面的资源: 银行机构代码  央行颁发支付系统银行行别、行号业务标准,支付系统银行行别代码采取类别编码方法,实行3位定长数字,由类别代码和顺序编码组成。其中第一位为类别代码,用于区分不同种类的银行机构,便于金融统计数据的提取;第二、三位为顺序编码,用于标识每一家银行机构。  银行行别代码结构:  一、类别代码…

    2025年8月7日
    3
  • linux rzsz安装

    linux rzsz安装

    2021年6月15日
    109
  • pycharm安装镜像[通俗易懂]

    pycharm安装镜像[通俗易懂]1、pipinstallscipy-ihttps://pypi.douban.com/simple/2、pipinstall–indexhttps://pypi.mirrors.ustc.edu.cn/simple/+(要下载的模块)pandas3、pipinstall–indexhttp://mirrors.sohu.com/python/例如pipinstallscipy==1.2.1-ihttps://pypi.douban.com/simp…

    2022年8月28日
    2
  • 冒泡游戏java_消灭泡泡糖游戏java代码

    冒泡游戏java_消灭泡泡糖游戏java代码对战版

    2025年11月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号