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


相关推荐

  • win10无法识别的usb设备前一个设备不正常_蓝牙变成未知usb设备

    win10无法识别的usb设备前一个设备不正常_蓝牙变成未知usb设备[修复]未知的USB设备(设备描述符请求失败)在Windows10中转至[修复]未知的USB设备(设备描述符请求失败)在Windows10中

    2025年5月26日
    0
  • ExecuteScalar 返回值

    ExecuteScalar 返回值ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行Execute=执行;scalar=数量;so,从字面意思来讲,可将ExecuteScalar和ExecuteNonQuery对比来学习。ExecuteScalar()方法的作用是:执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。

    2022年6月26日
    39
  • 面试抽集二

    面试抽集二面试抽集二

    2022年4月23日
    41
  • es6 转es5_es5 es6是什么

    es6 转es5_es5 es6是什么项目js没有用vue的福音情景问题 项目有很多新的js语法es6es7等等 如你所愿市面上很多浏览器已经大部分支持这些与语法了 但是ie就差强人意了直接歇菜如何解决 利用node插件完成语法降级实施情景 #安装babel npminstall–save-dev@babel/core #安装转码规则 npminstall–save-dev@babel/preset-env #规则加入babel.config.json

    2022年9月25日
    0
  • Execute_getqueryvariable

    Execute_getqueryvariableExecuteScalar :返回第一列,第一行的数据。   第一列第一行不为空,那么ExecuteScalar就直接对应的值。   有第一行,但是第一列为空,那么返回的是 DBNull 。一行都没有,那么ExecuteScalar就返回null  ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数

    2022年9月11日
    0
  • 【Linux从青铜到王者】第一篇:Linux常见指令

    【Linux从青铜到王者】第一篇:Linux常见指令系列文章目录文章目录系列文章目录前言一、Linux是什么二、Linux下基本指令1.ls指令2.pwd指令3.cd指令4.touch指令5.mkdir指令6.rmdir指令7.rm指令8.man指令9.echo指令10.cp指令2.读入数据总结前言一、Linux是什么Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用.

    2022年5月2日
    45

发表回复

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

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