第六届蓝桥杯JavaC组省赛真题——详细答案对照(包含垒骰子)-2

简介: 第六届蓝桥杯JavaC组省赛真题——详细答案对照(包含垒骰子)

F、奇妙的数字

小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。

你能猜出这个数字是多少吗?

请填写该数字,不要填写任何多余的内容。

题解:

package demo;
import java.util.HashSet;
public class demo {
  public static void main(String[] args) {
    for (int i = 40; i < 100; i++) {
      // 求一个数的平方和立方并存储并合并到一个字符串中
      String str = (long)Math.pow(i, 2)+""+(long)Math.pow(i, 3);
      HashSet<Character> set = new HashSet<Character>(); // 存储字符串的每一个字符
      // 插入数据
      for (int j = 0; j < str.length(); j++) {
        set.add(str.charAt(j));
      }
      // 判断长度是否为10
      if (set.size() != 10) {
        continue;
      } else {
        System.out.println(i);
      }
    }
  }
}

G、加法变乘法

我们都知道:1+2+3+ ... + 49 = 1225

现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015


比如:

1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015

就是符合要求的答案。


请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。


注意:需要你提交的是一个整数,不要填写任何多余的内容。


题解:

package demo;
public class demo {
  public static void main(String[] args) {
    for (int i = 0; i < 47; i++) {
      for (int j = i + 2; j < 49; j++) {
        if (1225 + i * i + j * j == 2015 + (i + 1) + (j + 1)) {
          System.out.println(i);
        }
      }
    }
  }
}

H、移动距离


X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...

当排满一行时,从下一行相邻的楼往反方向排号。

比如:当小区排号宽度为6时,开始情形如下:


1  2  3  4  5  6

12 11 10 9  8  7

13 14 15 .....


我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)


输入为3个整数w m n,空格分开,都在1到10000范围内

要求输出一个整数,表示m n 两楼间最短移动距离。


例如:

用户输入:

6 8 2

则,程序应该输出:

4


再例如:

用户输入:

4 7 20

则,程序应该输出:

5


资源约定:

峰值内存消耗(含虚拟机) < 256M

CPU消耗  < 1000ms


请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。


所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。

注意:主类的名字必须是:Main,否则按无效代码处理。


题解:

package demo;
import java.util.Scanner;
public class demo {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int w = sc.nextInt();
    int m = sc.nextInt();
    int n = sc.nextInt();
    // 第一个数字
    int x1 = ((m - 1) / w) + 1; // 行数
    int y1 = 0;
    if (x1 % 2 != 0) { // 判断奇偶性
      y1 = m - (x1 - 1) * w;
    } else {
      y1 = w - (m - (w + 1));
    }
    // 第二个数字
    int x2 = ((n - 1) / w) + 1; // 行数
    int y2 = 0;
    if (x2 % 2 != 0) { // 判断奇偶性
      y2 = n - (x2 - 1) * w;
    } else {
      y2 = w - (n - (w + 1));
    }
    System.out.println(Math.abs(x2 - x1) + Math.abs(y2 - y1));
    sc.close();
  }
}

I、打印大X

小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。

为了便于比对空格,所有的空白位置都以句点符来代替。


要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0<m<n, 3<n<1000, 保证n是奇数)

要求输出一个大X


例如,用户输入:

3 9

程序应该输出:

***.....***

.***...***.

..***.***..

...*****...

....***....

...*****...

..***.***..

.***...***.

***.....***

(如有对齐问题,参看【图1.jpg】)


image.png


资源约定:

峰值内存消耗(含虚拟机) < 256M

CPU消耗  < 1000ms


请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。


所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。

注意:主类的名字必须是:Main,否则按无效代码处理。


题解:

package demo;
import java.util.Scanner;
public class demo {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int x = sc.nextInt();
    int y = sc.nextInt();
    char[][] arr = new char[y][y + x - 1];
    // 给数组赋值.
    for (int i = 0; i < arr.length; i++) {
      for (int j = 0; j < arr[i].length; j++) {
        arr[i][j] = '.';
      }
    }
    // 从左上到右下
    for (int i = 0; i < arr.length; i++) {
      for (int j = i; j < i + x; j++) {
        arr[i][j] = '*';
      }
    }
    // 从右上到坐下
    for (int i = 0; i < arr.length; i++) {
      for (int j = arr[i].length - i - 1; j > arr[i].length - i - 1 - x; j--) {
        arr[i][j] = '*';
      }
    }
    // 打印
    for (int i = 0; i < arr.length; i++) {
      for (int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j]);
      }
      System.out.println();
    }
    sc.close();
  }
}
相关文章
|
15小时前
第十四届蓝桥杯集训——JavaC组第十三篇——for循环
第十四届蓝桥杯集训——JavaC组第十三篇——for循环
37 0
|
15小时前
|
算法
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
40 0
|
15小时前
|
存储 Java 大数据
第十四届蓝桥杯集训——JavaC组第三篇——常量与变量(八种基本数据类型)
第十四届蓝桥杯集训——JavaC组第三篇——常量与变量(八种基本数据类型)
32 0
|
15小时前
|
Java Linux
第十四届蓝桥杯集训——JavaC组首篇——环境搭建(win11)
第十四届蓝桥杯集训——JavaC组首篇——环境搭建(win11)
72 0
|
15小时前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
24 0
|
15小时前
|
Java C语言
第十四届蓝桥杯集训——JavaC组第十四篇——嵌套循环
第十四届蓝桥杯集训——JavaC组第十四篇——嵌套循环
36 0
|
15小时前
|
C语言
第十四届蓝桥杯集训——JavaC组第十一篇——switch
第十四届蓝桥杯集训——JavaC组第十一篇——switch
29 0
|
15小时前
第十四届蓝桥杯集训——JavaC组第十篇——分支语句
第十四届蓝桥杯集训——JavaC组第十篇——分支语句
31 0
|
15小时前
|
算法
第十四届蓝桥杯集训——JavaC组第九篇——三元运算符
第十四届蓝桥杯集训——JavaC组第九篇——三元运算符
30 0
|
15小时前
第十四届蓝桥杯集训——JavaC组第九篇——位运算符
第十四届蓝桥杯集训——JavaC组第九篇——位运算符
21 0