蓝桥杯专题-真题版含答案-【祖冲之割圆法】【错误票据】【显示为树形】【汉字相乘】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总
游戏脚本-辅助自动化Android控件全解手册再战Android系列
Scratch编程案例软考全系列Unity3D学习专栏
蓝桥系列ChatGPT和AIGC

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单

CSDN-芝麻粒儿

👉实践过程

😜祖冲之割圆法

南北朝时,我国数学家祖冲之首先把圆周率值计算到小数点后六位,比欧洲早了1100年!
他采用的是称为“割圆法”的算法,实际上已经蕴含着现代微积分的思想。
如图【1.jpg】所示,圆的内接正六边形周长与圆的周长近似。
在这里插入图片描述

多边形的边越多,接近的越好!我们从正六边形开始割圆吧。如图【2.jpg】所示,从圆心做弦的垂线,可把6边形分割为12边形。
在这里插入图片描述
该12边形的边长a’的计算方法很容易利用勾股定理给出。
之后,再分割为正24边形,…如此循环会越来越接近圆周。
之所以从正六边开始,是因为此时边长与半径相等,便于计算。取半径值为1,开始割圆吧!
以下代码描述了割圆过程。
程序先输出了标准圆周率值,紧接着输出了不断分割过程中多边形边数和所对应的圆周率逼近值。

publicclassDemo10_B21
{publicstaticvoid main(String[] args){System.out.println("标准 " + Math.PI);double a = 1; int n = 6;for(int i=0; i<10; i++){double b = Math.sqrt(1-(a/2)*(a/2));a = Math.sqrt((1-b)*(1-b) + (a/2)*(a/2));n = n*2; //填空System.out.println(n + "  " + n*a/2 );  // 填空}}
}
运行结果:
标准 3.141592653589793
12  3.105828541230249
24  3.1326286132812378
48  3.1393502030468667
96  3.14103195089051
192  3.1414524722854624
384  3.141557607911858
768  3.1415838921483186
1536  3.1415904632280505
3072  3.1415921059992717
6144  3.1415925166921577

😜错误票据

某涉密单位下发了某种票据,并要在年终全部收回。
每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。
因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。
你的任务是通过编程,找出断号的ID和重号的ID。
假设断号不可能发生在最大和最小号。
要求程序首先输入一个整数N(N<100)表示后面数据行数。
接着读入N行数据。
每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)
每个整数代表一个ID号。
要求程序输出1行,含两个整数m n,用空格分隔。
其中,m表示断号ID,n表示重号ID
例如:
用户输入:
2
5 6 8 11 9
10 12 9

则程序输出:
7 9
再例如:
用户输入:
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
则程序输出:
105 120
资源约定:
峰值内存消耗(含虚拟机)< 64M
CPU消耗< 2000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。

import java.io.IOException;
import java.util.PriorityQueue;
import java.util.Scanner;
class Question7UnAmendment{public static void main(String[] args) throws IOException {String s[]=new String[10];int lines;char ch;PriorityQueue<Integer>priorityQueue=new PriorityQueue<Integer>();lines= System.in.read()-'0';lines++;int sum=0;while(lines>0){ch=(char) System.in.read();if(ch==' '){if(sum!=0){priorityQueue.add(sum);sum=0;}}else if(ch>='0'&&ch<='9'){if(ch=='0'&&sum==0){priorityQueue.add(0);continue;}sum*=10;sum+=ch-'0';}else if(ch=='\n'){lines--;if(sum!=0){priorityQueue.add(sum);sum=0;}}}int m =-1,n = -1;int i=priorityQueue.peek();while(!priorityQueue.isEmpty()){if(i!=priorityQueue.peek()){if(priorityQueue.peek()-i==1){m=i;priorityQueue.add(i);}else if (i-priorityQueue.peek()==1) {n=priorityQueue.peek();priorityQueue.poll();}}i++;priorityQueue.poll();}System.out.println(m+" "+n);}
}

😜显示为树形

树形结构应用十分广泛。
下面这段代码根据用户添加的数据,在内存中构建一个逻辑上等价的树形结构。
通过ShowTree() 可以把它显示为控制中的样子。
其中:
a.add(‘a’, ‘b’);
a.add(‘b’, ‘e’);
表示:‘b’ 作为 ‘a’ 的孩子节点;‘e’ 作为 'b’的孩子节点。
如代码中给出的示例数据,输出结果应该为:

a–b–e
| |–f–j
| |–k
|–c
|–d–g–h
|–i
请阅读下面的代码,填写缺失的部分(下划线部分)。
注意:请把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
直接写在题面中不能得分。

import java.util.*;
class MyTree
{private Map map = new HashMap();public void add(char parent, char child){List<Character> t = (List<Character>)map.get(parent);if(t==null){t = new Vector<Character>();map.put(parent, t) ;  // 填空1}t.add(child);}public List<Character> getChild(char x){return (List<Character>)map.get(x);}
}
public class My
{public static List<String> showTree(MyTree tree, char x){List<Character> t = tree.getChild(x);List<String> r = new Vector<String>();if(t==null){r.add("" + x);return r;}for(int i=0; i<t.size(); i++){List<String> ri = showTree(tree, t.get(i));for(int j=0; j<ri.size(); j++){String pre = "|  ";if(j==0){if(i==0)pre = x + "--";else pre = "|--";}else{if(i==  t.size()-1 )    // 填空2pre = "   ";elsepre = "|  ";}r.add(pre + ri.get(j));}}return r;}public static void main(String[] args){MyTree a = new MyTree();a.add('a', 'b');a.add('b', 'e');a.add('b', 'f');a.add('a', 'c');a.add('a', 'd');a.add('d', 'g');a.add('d', 'i');a.add('g', 'h');a.add('f', 'j');a.add('f', 'k');List<String> lst = showTree(a, 'a');for(int i=0; i<lst.size(); i++){System.out.println(lst.get(i));}}
}

😜汉字相乘

(编程题)下列乘法算式中:每个汉字代表 1 个数字(1~9)。相同的汉字代表相同的
数字,不同的汉字代表不同的数字。
赛软件 * 比赛 = 软件比拼
试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。
【参考结果】
465 * 14 = 6510

public class Competition {public void getResult() {int s, r, j, b, p;for (s = 2; s <= 9; s++) {for (r = 0; r <= 9; r++) {if(r==s)continue;for (j = 2; j <= 9; j++) {if(j==r||j==s)continue;for (b = 0; b <= 9; b++) {if(b==s||b==r||b==j)continue;for (p = 0; p <= 9; p++) {if(p==b||p==j||p==r||p==s)continue;int left = (s * 100 + r * 10 + j) * (b * 10 + s);int right = r * 1000 + j * 100 + b * 10 + p;if (left == right) {System.out.println("" + s + r + j +" * "+b+s+" = "+r+j+ b + p);}}}}}}}public static void main(String[] args) {Competition s = new Competition();//   s.biJiao();s.getResult();}
}

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【自定义Source、Sink】Flink自定义Source、Sink对ClickHouse进行读和批量写操作

ClickHouse官网文档 Flink 读取 ClickHouse 数据两种驱动 ClickHouse 官方提供Clickhouse JDBC.【建议使用】第3方提供的Clickhouse JDBC. ru.yandex.clickhouse.ClickHouseDriver ru.yandex.clickhouse.ClickHouseDriver.现在是没有维护 ClickHouse 官方提供Clickhouse JDBC…

华为ensp-无线小型wlan配置教程

实验拓扑图&#xff1a; 实验平台&#xff1a;ENSP510 实验设备&#xff1a;Centered Cloud、AC6005、AP4030、STA、Cellphone vlan范围划分 vlan 101 : 10.23.101.1/24 vlan 100 : 10.23.100.1/24实验步骤&#xff1a; 一、创建VLAN100、101配置端口类型 [AC1]vlan batch 100…

STM32启动流程详解(超全,startup_stm32xx.s分析)

单片机上电后执行的第一段代码 1.初始化堆栈指针 SP_initial_sp 2.初始化 PC 指针Reset_Handler 3.初始化中断向量表 4.配置系统时钟 5.调用 C 库函数_main 初始化用户堆栈&#xff0c;然后进入 main 函数。 在正式讲解之前&#xff0c;我们需要了解STM32的启动模式。 STM32的…

【Vue】日期格式化(全局)

系列文章 【Vue】vue增加导航标签 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/134965353 【Vue】Element开发笔记 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/133947977 【Vue】vue&#xff0c;在Windows IIS平台…

关于“Python”的核心知识点整理大全23

目录 ​编辑 第&#xff11;0 章 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 pi_digits.txt file_reader.py 10.1.2 文件路径 10.1.3 逐行读取 file_reader.py 10.1.4 创建一个包含文件各行内容的列表 10.1.5 使用文件的内容 pi_string.py 往期快速传…

Microsoft visual studio 2013卸载方法

1、问 题 Microsoft visual studio 2013 无法通过【程序与功能】卸载 2、解决方法 使用微软的Microsoft visual studio 2013 专用卸载工具 工具下载链接&#xff1a;https://github.com/Microsoft/VisualStudioUninstaller/releases 或 链接&#xff1a;https://pan.baidu.c…

【自动化测试】web3py 连接 goerli

web3py 连接 goerli 直接使用库里方法 if __name__ __main__:from web3.auto.infura.goerli import w3w3.eth.get_balance(get_address_by_private_key(os.getenv("AAA_KEY")))error info: websockets.exceptions.InvalidStatusCode: server rejected WebSocket …

02-MQ入门之RabbitMQ简单概念说明

二&#xff1a;RabbitMQ 介绍 1.RabbitMQ的概念 RabbitMQ 是一个消息中间件&#xff1a;它接受并转发消息。你可以把它当做一个快递站点&#xff0c;当你要发送一个包裹时&#xff0c;你把你的包裹放到快递站&#xff0c;快递员最终会把你的快递送到收件人那里&#xff0c;按…

LeetCode 1143最长公共子序列 1035不相交的线 53最大子序和 | 代码随想录25期训练营day53

动态规划算法11 LeetCode 1143 最长公共子序列 2023.12.16 题目链接代码随想录讲解[链接] int longestCommonSubsequence(string text1, string text2) {//1确定dp二维数组&#xff0c;dp[i][j]表示以text1[i-1]、text2[j-1]结尾相同的公共子序列的最大长度vector<vecto…

普通二叉树和右倾斜二叉树--LeetCode 111题《Minimum Depth of Binary Tree》

本文将以解释计算二叉树的最小深度的思路为例&#xff0c;致力于用简洁易懂的语言详细描述普通二叉树和右倾斜二叉树在计算最小深度时的区别。通过跟随作者了解右倾斜二叉树的概念以及其最小深度计算过程&#xff0c;读者也将对左倾斜二叉树有更深入的了解。这将为解决LeetCode…

BIM 技术:CIM (City Information Modeling) 1-7 级

本心、输入输出、结果 文章目录 BIM 技术&#xff1a;CIM &#xff08;City Information Modeling&#xff09; 1-7 级前言城市信息模型&#xff08;CIM&#xff09;概述城市信息模型分级介绍CIM 1CIM 2CIM 3CIM 4CIM 5CIM 6CIM 7 花有重开日&#xff0c;人无再少年实践是检验真…

【Linux】dump命令使用

dump命令 dump命令用于备份文件系统。使用dump命令可以检查ext2/3/4文件系统上的文件&#xff0c;并确定哪些文件需要备份。这些文件复制到指定的磁盘、磁带或其他存储介质保管。 语法 dump [选项] [目录|文件系统] bash: dump: 未找到命令... 安装dump yum -y install …

TableView复用机制的坑

TableView复用机制的坑 复用机制 UITableView 首先加载能够覆盖一屏幕的 UITableViewCell&#xff08;具体个数要根据每个 cell 的高度而定&#xff09;。 然后当我们往上滑动时&#xff08;往下滑动同理&#xff09;&#xff0c;需要一个新的 cell 放置在列表的下方。此时&…

SpringBoot Starter机制(自定义Start案例,实际开发场景中的短信模拟,AOP实现日志打印)

前言&#xff1a; 在我们上一篇博客中&#xff0c;实现Freemarke的增删改查&#xff0c;今天分享的是关于SpringBoot Starter机制-- 1.SpringBoot Starter 1.1.什么是SpringBoot Starter SpringBoot中的starter是一种非常重要的机制(自动化配置)&#xff0c;能够抛弃以前繁杂…

一款专业的磁盘坏道清除、彻底清除填充数据根据-硬盘数据彻底清除的方法分享

工具提供了硬盘坏道修复功能&#xff0c;你可以将损坏的磁盘放到软件分析&#xff0c;让软件找到错误的地方&#xff0c;让软件找到损坏的区域&#xff0c;通过内置的修复功能就可以将不能正常使用的部分恢复&#xff0c;从而让您的电脑磁盘可以保存很多数据&#xff0c;避免造…

Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别

文章目录 前言一、下载并安装Tesseract OCR二、配置环境变量三、Python中安装使用pytesseract总结 前言 Tesseract OCR是一个开源OCR&#xff08;Optical Character Recognition&#xff09;引擎&#xff0c;用于从图像中提取文本。Pytesseract是Tesseract OCR的Python封装&am…

【python】Debian安装miniconda、spyder、tushare

1. miniconda 安装 — 动手学深度学习 2.0.0 documentation中有安装Miniconda的一些说明。 Miniconda — miniconda documentation是Miniconda网站&#xff0c;里面也有安装说明。 Debian安装按照linux安装即可&#xff1a; mkdir -p ~/miniconda3 wget https://repo.anaco…

macbookpro 2024怎么恢复出厂设置

可能你的MacBook曾经是高性能的代表&#xff0c;但是现在它正慢慢地逝去了自己的光芒&#xff1f;随着逐年的使用以及文件的添加和程序的安装&#xff0c;你的MacBook可能会开始变得迟缓卡顿&#xff0c;或者失却了以往的光彩。如果你发现你的Mac开始出现这些严重问题&#xff…

英语综合教程1第三版的一些题

unit1 unit2 unit3 unit4 unit5 unit6

3.1 内容管理模块 - 工程搭建、课程查询、配置Swagger、数据字典

文章目录 内容管理模块一、基础工程搭建1.1 需求分析1.2 业务流程1.3 数据模型1.4 创建模块工程1.4.1 介绍1.4.2 xuecheng-plus-content 聚合工程1.4.3 模块演示 二、课程查询准备2.1 需求分析2.1.1 业务流程2.1.2 数据模型 2.2 生成PO类2.2.1 新增Maven配置2.2.2 课程基本信息…