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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • git使用步骤_小猪酸奶的使用步骤

    git使用步骤_小猪酸奶的使用步骤厉害了!小猪用Git一年多后的精华总结标签:Git描述性文字:不要问我为什么用这种骚猪风格的标题,现在写博文,标题不骚,人家都不乐意看~接触Git到现在有一年多了,对Git使用也是日渐精进,虽说不上很熟络,但也算入门,决定年前总结下,所以有了此文。Git博大精深,还有很多的东西需要学习,比如自己搭建啊,一些便利工具的使用啊,一些疑难杂症解决方案啊等等,当然这就是下一话的事了。本文讲述的

    2022年9月22日
    0
  • pycharm安装插件报错怎么办_pycharm安装哪些插件

    pycharm安装插件报错怎么办_pycharm安装哪些插件Pycharm安装插件Pycharm安装插件Pycharm中一些值得安装的插件RainbowBracketsIdeaVimMarkdownNavigatorTranslation如果说编辑器是程序员的武器,那么插件就是装备加成。插件可以让编写代码更加灵活Pycharm安装插件点击file–settings,进入设置找到apperance中的Plugins,在搜索框中搜索想要的插件,然后点击安装即可Pycharm中一些值得安装的插件RainbowBrack

    2022年8月26日
    0
  • 程序员如何接私活「建议收藏」

    马无夜草不肥,人无外财不富!最近有很多程序员朋友问我如何接私活?接私活的方法有很多种,根据你的实力以及社会资源等因素选择合适自己的方法:1、熟人介绍,利用同事、同学、老顾客等熟人关系介绍订单,这个方法的好处就是,大家都有一定了解以及以及信任基础,很少存在骗单或者偷稿的行为,做的好可以成为长期稳定的合作伙伴,少去推广接单的痛苦与烦恼!2、网络平台接活,现在的网络接单平台有很多,选取一两个适合自己的网…

    2022年4月16日
    90
  • 从HTTL模板引擎看软件设计原则

    从HTTL模板引擎看软件设计原则

    2021年6月30日
    90
  • 微信小程序switchTab传参以及接收参数

    微信小程序switchTab传参以及接收参数我们可以在switch跳转之前设置一个全局变量,到下一个页面的时候,直接去获取全局变量。index.js保存参数先。contact.js获取参数。这样的传参方式是不行的。

    2025年6月21日
    2
  • 指针常量和常量指针的区别_指针常量能指向常量吗

    指针常量和常量指针的区别_指针常量能指向常量吗1、指针常量——指针类型的常量(int*constp)本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。用法如下:inta=10,b=20;int*constp=&amp;a;*p=30;//p指向的地址是一定的,但其内容可以修改2、…

    2022年4月19日
    62

发表回复

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

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