栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

蓝桥杯真题,请你找到最小的整数 X 同时满足: * • X 是 2019 的整倍数 * • X 的每一位数字都是奇数 * 【答案提交】 * 这是一道结果填空的题,你只需要算出结果后提交即可。本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯真题,请你找到最小的整数 X 同时满足: * • X 是 2019 的整倍数 * • X 的每一位数字都是奇数 * 【答案提交】 * 这是一道结果填空的题,你只需要算出结果后提交即可。本

  1. 平方末尾
    能够表示为某个整数的平方的数字称为“平方数”
    比如,25,64
    虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。
    因为平方数的末位只可能是:[0, 1, 4, 5, 6, 9] 这6个数字中的某个。
    所以,4325435332必然不是平方数。
    如果给你一个2位或2位以上的数字,你能根据末位的两位来断定它不是平方数吗?
    请计算一下,一个2位以上的平方数的最后两位有多少种可能性?

思路分析:

  1. 先创建Set集合,用于存储和统计可能性
    ○ Set集合可以去重

  2. 因为是否为平方数,只和末尾两位有关系,所以我们只需要验证 10~100的平方即可
    public class 平方末尾 {

    public static void main(String[] args) {
    Set set = new HashSet<>();//创建set集合

     //在10 ~100的平方找出末两位
     for(int i = 10;i<100;i++){
         int length = String.valueOf(i * i).length();//获取平方数的长度
         String str = String.valueOf(i*i).substring(length-2,length);//截取平方数的末尾两位 100 sub(3-2=1) (1,3)
         set.add(str);//统计末尾两位数的情况.
     }
     System.out.println(set.size());
    

    }

}
2. 全排列问题
有ABCDE五个字母,他们之间一共可以组成多少种顺序不同的组合(字母不能重复)
思路分析

import java.util.Stack;


public class _C全排列 {

static int count = 0; //用于记录有多少种组合
public static void main(String[] args) {
//创建数组用于存放abcde
char c[] = new char[3];
//创建一个bool类型数据,用于标记 a b c d e是否
boolean b[] = new boolean[c.length];

 f(0,c,b);

}
public static void f(int step,char c[],boolean b[]){
if(step == 3){ //等于5时说明完成一次组合
//打印数组
for(char c1:c){
System.out.print(c1+" ");
}
System.out.println();
count++;
}
//循环遍历组合
for(int i =0;i if(!b[i]){ //如果某一位还没有被选中过
c[step] = (char) (i+‘a’);
b[i] = true; //被选中过,标记为true
f(step+1,c,b);
b[i] = false;//回溯
}
}
}
}

  1. 背包问题(动态规划)
    package com.atguo.demo;


public class DpATest {
static int f[][] = new int[5][9];
static int w[] = {0,2,3,4,5};
static int v[] = {0,3,4,5,8};

public static void main(String[] args) {
for(int i = 1;i<5;i++){ //i件物品
for(int j = 1;j<9;j++){ //j:背包的容量
if(w[i]>j){
f[i][j] = f[i-1][j];
}else{
f[i][j] = Math.max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
}
}
}

 for(int i = 1;i<5;i++){
     System.out.println();
     for(int j = 1;j<9;j++){ //j:背包的容量
         System.out.print(f[i][j]+" ");
     }
 }

 System.out.println(f[4][8]);

}

}
4. 年龄问题(简单遍历)


public class _01年龄问题 {
public static void main(String[] args) {

 for(int i = 1;i<100;i++){
     for(int j = 1;j<100;j++){
         if((i-20) == (j-20)*2 && i == j*1.5 ){
             System.out.println(i+" "+j);
         }
     }
 }

}

  1. 奇数倍数


public class _A奇数倍数 {
public static void main(String[] args) {
int x = 2019;
while (true){
if(f(x)){
System.out.println(x);
return;
}
x+=2019;
}
}
//比较个位数
public static boolean f(int n ){
int x = n;
while (x!=0){
if(f1(x%10)){//如果有一个偶数
return false;
}
x/= 10;
}
return true;
}

public static boolean f1(int n1){
return (n1&1)!=1;//偶数返回true
}
}

  1. 七星末尾(回溯)
    package com.atguo.demo2016;

import java.util.HashSet;
import java.util.Set;


public class 平方末尾 {

public static void main(String[] args) {
Set set = new HashSet<>();//创建set集合

 //在10 ~100的平方找出末两位
 for(int i = 10;i<10000;i++){
     int length = String.valueOf(i * i).length();//获取平方数的长度
     String str = String.valueOf(i*i).substring(length-2,length);//截取平方数的末尾两位 100 sub(3-2=1) (1,3)
     set.add(str);//统计末尾两位数的情况.
 }

 System.out.println(set.size());

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/842601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号