(第六届蓝桥杯个人赛省赛)结果填空、代码填空

2023-10-08 11:10

本文主要是介绍(第六届蓝桥杯个人赛省赛)结果填空、代码填空,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、三角形面积(暴力解法,容易)

答案:28

这里写图片描述

如图所示。图中的所有小方格面积都是1。
那么,图中的三角形面积应该是多少呢?请填写三角形的面积。不要填写任何多余内容或说明性文字。

分析:直接做,送分题。

public class Main {/*** 三角形面积*/public static void main(String[] args) {//一个8×8的正方形里面有个三角形float Sz = 64;float s1 = 8, s2 = 12, s3 = 16;System.out.println(Sz-s1-s3-s2);}}

二、立方变自身(暴力解法,容易)

答案:6
观察下面的现象,某个数字的立方,按位累加仍然等于自身。
1^3 = 1 
8^3  = 512    5+1+2=8
17^3 = 4913   4+9+1+3=17
...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。

分析:将一个数的立方拆成一个一个的数,然后相加,判断是不是等于自身。这个方法比较笨。
说一个特别简单的方法,这个题可以用字符串,将一个数的立方放到字符串里边,然后将每一位取出来并相加,然后与自身比较。
这个题还有一个关键点就是 范围。当大于多少时,就不会出现立方变自身数。举个例子:50的立方的75000,50的立方一共5位数,我们知道,这5位数如果都取9,那么5位数的和才45,并没有达到50。所以循环到50即可。

public class Main {/*** 立方变自身*/static boolean test(int a, int b){String s = ""+b;int sum = 0;int n = 0;int size = s.length();for (int i = 0; i < size; i++) {n = b/(int)(Math.pow(10, size-1-i));sum += n;b -= n*(int)(Math.pow(10, size-1-i));}if (sum == a) {return true;}return false;}public static void main(String[] args) {int count = 0;for (int i = 1; i <= 100; i++) {if (test(i,i*i*i)) {count++;}}System.out.println(count);}}

三、三羊献瑞(暴力解法,有技巧)

答案:1085
观察下面的加法算式:      祥 瑞 生 辉
  +   三 羊 献 瑞
-------------------
   三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

分析:
这道题与第七届的凑算式是一种类型的。
这道题根据题目的要求,给每个字一个数字,然后进行计算即可。
此题的技巧就是用String,即将算式的第一行,第二行的数字表示分别放到String里,然后将这两行转化成int型进行计算,计算结果再放到字符串里;将第三行的数字表示放到String里,然后与计算结果相比较,如果相等则记录下“三洋献瑞”这4个字的数字符号,然后跳出循环即可。

public class Main {/*** 三羊献瑞*/public static void main(String[] args) {String s1,s2,s3,s,res="";int flag = 0;for (int i = 0; i <= 9; i++) {//祥for (int j = 0; j <= 9; j++) {//瑞for (int k = 0; k <= 9; k++) {//生for (int l = 0; l <= 9; l++) {//辉for (int m = 0; m <= 9; m++) {//三for (int n = 0; n <= 9; n++) {//羊for (int p = 0; p <= 9; p++) {//献for (int q = 0; q <=9; q++) {//气if (i != j && i != k && i != l && i != m && i != n && i != p && i != q&& j != k && j != l && j != m && j != n && j != p && j != q&& k != l && k != m && k != n && k != p && k != q&& l != m && l != n  && l !=p && l != q&& m != n && m != p && m != q&& n != p && n != q && p != q) {s1 = ""+i+j+k+l;s2 = ""+m+n+p+j;s = Integer.parseInt(s1)+Integer.parseInt(s2)+"";//先进行加操作,再进行转换成字符串s3 = ""+m+n+k+j+q;if (s.equals(s3)) {flag = 1;res = ""+m+n+p+j;break;}}}if (flag == 1) {break;}}if (flag == 1) {                            break;}}if (flag == 1) {break;}}if (flag == 1) {break;}}if (flag == 1) {break;}}if (flag == 1) {break;}}if (flag == 1) {break;}}System.out.println(res);}}

可能会有人想,为什么会有那么多break;
因为break 只会跳出一层循环,所以当你找到答案时,你需要跳出每层循环。

四、循环节长度(代码填空)

答案是return v.size() - v.indexOf(n)

两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。
比如,11/13=6=>0.846153846153….. 其循环节为[846153] 共有6位。
下面的方法,可以求出循环节的长度。

请仔细阅读代码,并填写划线部分缺少的代码。

public static int f(int n, int m)
{n = n % m;  Vector v = new Vector();for(;;){v.add(n);n *= 10;n = n % m;if(n==0) return 0;if(v.indexOf(n)>=0)  ____________________ ;  //填空}
}
注意,只能填写缺少的部分,不要重复抄写已有代码,不要填写任何多余的文字。

解题过程:
将n=11,m=13带入求解。
按照代码顺序执行,当v.indexOf(n) >= 0满足时,向量v中的数为{11,6,8,2,7,5,11},且当前n=11
此时,因为题目中给出的例子的循环节长度为6,且此时v.size()也等于6,所以就误以为答案是return v.size()
其实答案是return v.size() - v.indexOf(n)
没有大量的数学知识储备,做对这个题不容易。

五、九数组分数(代码填空,简单)

答案:{t=x[k]; x[k]=x[i]; x[i]=t;}
1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。public class A
{public static void test(int[] x){int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];     if(a*3==b) System.out.println(a + " " + b);}public static void f(int[] x, int k){if(k>=x.length){test(x);return;}for(int i=k; i<x.length; i++){{int t=x[k]; x[k]=x[i]; x[i]=t;}f(x,k+1);_______________________________________       // 填空}}public static void main(String[] args){int[] x = {1,2,3,4,5,6,7,8,9};      f(x,0);}
}注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。

分析:太简单了。做过很多类似的题目了,一看就知道要填什么。
这个题就是全排列算法(递归+回溯)。

这篇关于(第六届蓝桥杯个人赛省赛)结果填空、代码填空的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/164864

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

利用Python在万圣节实现比心弹窗告白代码

《利用Python在万圣节实现比心弹窗告白代码》:本文主要介绍关于利用Python在万圣节实现比心弹窗告白代码的相关资料,每个弹窗会显示一条温馨提示,程序通过参数方程绘制爱心形状,并使用多线程技术... 目录前言效果预览要点1. 爱心曲线方程2. 显示温馨弹窗函数(详细拆解)2.1 函数定义和延迟机制2.2

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

VS Code中的Python代码格式化插件示例讲解

《VSCode中的Python代码格式化插件示例讲解》在Java开发过程中,代码的规范性和可读性至关重要,一个团队中如果每个开发者的代码风格各异,会给代码的维护、审查和协作带来极大的困难,这篇文章主... 目录前言如何安装与配置使用建议与技巧如何选择总结前言在 VS Code 中,有几款非常出色的 pyt

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工