0105 蓝桥杯真题08

news2025/8/3 23:46:14

 

 

 

 

 

 

 

 

 

 

 

 

/*
 * 中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。
 * 它的前几项是:0、2、4、8、12、18、24、32、40、50 ...
 * 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。
 * 以下的代码打印出了大衍数列的前 100 项。

    for(int i=1; i<100; i++)
    {
    if(________________) //填空
    System.out.println(i*i/2);
    else
    System.out.println((i*i-1)/2);
    }

 *请填写划线部分缺失的代码。通过浏览器提交答案。
 */
public class _031大衍数列 {
    public static void main(String[] args) {
        for(int i=1; i<100; i++)
        {
        if(i % 2 == 0) //填空
        System.out.println(i*i/2);
        else
        System.out.println((i*i-1)/2);
        }
    }
}
 

/*
 * 数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。
 * 如图中所示,就是一种用连分数的形式表示的圆周率求法。
 * 下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。
 * 结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。
 *      double x = 111;
 *   for(int n = 10000;n >= 0;n--){
 *       int i = 2 * n + 1;
 *       x = 2 + (i*i / x);
 *   }
 *   
 *   System.out.println(String.format("%.4f",_______));
 *   
 * 思路
 * 极限 -->当n=0时,i=1,x=2+1/x,与图相比多了1,减去,即Π=4/(x-1)
 */
public class _032圆周率 {
    public static void main(String[] args) {
        double x = 111;
           for(int n = 10000;n >= 0;n--){
               int i = 2 * n + 1;
               x = 2 + (i*i / x);
           }
          System.out.println(String.format("%.4f",4/(x-1)));
    }
}

/*
 * 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:
 * 1/4 乘以 8/5
 * 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)
 * 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!
 * 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?
 * 请写出所有不同算式的个数(包括题中举例的)。
 * 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。
 * 但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!
 * 
 * 注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。
 * 
 * 思路
 * 写出等式
 */
public class _033奇怪的分式 {
    private static int count;

    public static void main(String[] args) {
        for(int a = 1;a < 10;a++) {
            for(int b = 1;b < 10;b++) {
                for(int c = 1;c < 10;c++) {
                    for(int d = 1;d < 10;d++) {
                        if (a == b || c == d) {//分子分母相同跳过
                            continue;
                        }
                        if ((10*a+c)*b*d == (10*b+d)*a*c) {//条件
                            count++;
                        }
                    }
                }
            }
        }
        System.out.println(count);
    }
}

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

/*
 * A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。
 * 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。
 * 请填写出所有符合要求的排列中,字典序最小的那个。
 * 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。
 * 
 * 请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空格。
 * 
 * 思路
 * 全排列+检查(set去重)
 * public int lastIndexOf(int ch):
 * 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
 * 
 */
public class _034扑克序列 {
    public static void main(String[] args) {
        char[] a = {'A','A','2','2','3','3','4','4'};
        f(a,0);
        
        //输出set
        for (String s : set) {
            System.out.println(s);
        }
    }

    //去重
    static Set<String> set = new HashSet<>();
    
    private static void f(char[] a, int k) {
        //出口
        if (k == a.length) {
            String s = new String(a);//把字符数组转成字符串
            if (check(s)) {//检查
                //System.out.println(s);
                set.add(s);
            }
        }
        
        //全排列
        for(int i = k;i < a.length;i++) {
            char temp = a[k];
            a[k] = a[i];
            a[i] = temp;
            
            f(a, k+1);
            
            temp = a[k];
            a[k] = a[i];
            a[i] = temp;
        }
    }

    //检查
    private static boolean check(String s) {
        if (s.lastIndexOf('A') - s.indexOf('A') == 2 &&
            s.lastIndexOf('2') - s.indexOf('2') == 3 &&
            s.lastIndexOf('3') - s.indexOf('3') == 4 &&
            s.lastIndexOf('4') - s.indexOf('4') == 5) {
            return true;
        }else {
            return false;
        }
    }
}

import java.util.Scanner;

/*
 * 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:
 * 每个小朋友都把自己的糖果分一半给左手边的孩子。
 * 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
 * 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
 * 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
 * 
 * 输入格式
 * 程序首先读入一个整数N(2< N< 100),表示小朋友的人数。
 * 接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
 * 
 * 输出格式
 * 要求程序输出一个整数,表示老师需要补发的糖果数。
 * 
    样例输入
    3
    2  2  4
    样例输出
    4
 */
public class _035分糖果 {
    public static void main(String[] args) {
        //输入
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        for(int i = 0;i < n;i++) {
            a[i] = sc.nextInt();
        }
        
        int count = 0;//补发次数
        while (true) {
            int temp = a[0];
            for(int i = 0;i <= n-2;i++) {
                a[i] -= a[i] / 2;//给一半糖果
                a[i] += a[i + 1] / 2;//获得右边的一半糖果
                if (a[i] % 2 != 0) {//是奇数,补发
                    count++;
                    a[i]++;
                }
            }
            
            //最后一位的糖果
            a[n-1] -= a[n-1] / 2;
            a[n-1] += temp / 2;
            
            if (a[n-1] % 2 != 0) {
                count++;
                a[n-1]++;
            }
            
            if (check(a,n)) {//相等就输出并结束循环
                System.out.println(count);
                return;
            }
        }
    }

    //检查糖果数量是否相等
    private static boolean check(int[] a,int n) {
        int temp = a[0];
        for(int i = 1;i < n;i++) {
            if (a[i] != temp) {
                return false;
            }
        }
        return true;
    }    
}

 

 

 

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

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

相关文章

【RT-Thread Studio更新】英飞凌 PSOC62-IFX-PROTO-KIT 开发环境搭建指南

本文将介绍在 RT-Thread Studio 上如何基于 PSOC62-IFX-PROTO-KIT 开发板搭建开发环境进行开发、烧录、调试功能。开发环境搭建步骤1、PSOC62-IFX-PROTO-KIT 开发板资源包安装打开Studio&#xff0c;点击工具栏上的SDK管理器在Board_Support_Packages 找到 Infineon 下的 PSOC6…

TOWER 成就徽章 NFT 系列介绍——TOWER 生态系统的第一个灵魂通证(SBT)

2022 年 7 月&#xff0c;团队推出了成就徽章 NFT 系列&#xff0c;记录每个成员在 TOWER 生态系统中的努力。这是第一个不可转让的灵魂 NFT 系列&#xff08;SBT&#xff09;&#xff0c;代表了每个玩家的独特身份。 关于灵魂通证&#xff08;SBT&#xff09; 以太坊联合创始人…

力扣(LeetCode)809. 情感丰富的文字(C++)

模拟 分析单词可扩张条件 : 对于某个字母&#xff0c;设目标字母长度 c1c1c1 &#xff0c;待扩张字母长度 c2c2c2 当 c1<c2c1<c2c1<c2&#xff0c;目标字母比待扩张字母少&#xff0c;false 当 c1≥c2c1\ge c2c1≥c2&#xff0c;目标字母比待扩张字母多或者相等&…

大数据开发——Hive实战案例

文章目录1. 创建表结构1.1 视频表结构1.2 用户表结构2. 准备工作2.1 创建临时表2.2 创建最终使用表2.3 对创建表进行解读3. 业务分析1. 创建表结构 1.1 视频表结构 1.2 用户表结构 2. 准备工作 2.1 创建临时表 由于使用的是orc方式进行存储&#xff0c;所以我们需要建立一个…

OpenFlow协议原理及基本配置-网络测试仪实操

一、OpenFlow协议原理 1.OpenFlow技术背景 ●转发和控制分离是SDN网络的本质特点之一。在SDN网络架构中&#xff0c;控制平面与转发平面分离&#xff0c;网络的管理和状态在逻辑上集中到一起&#xff0c;底层的网络基础从应用中独立出来&#xff0c;由此&#xff0c;网络获得…

不知道照片上怎么文字翻译成英文?来看看这篇文章

不知道你们在遇到看不懂的英文图片时&#xff0c;是不是和以前的我一样&#xff0c;一个一个的把图片内容输到翻译软件里&#xff0c;然后再进行翻译&#xff0c;其实这种办法不仅费时还费力&#xff0c;而且一旦遇到其它的外文就彻底没辙了&#xff0c;那怎么办呢&#xff1f;…

[附源码]java毕业设计音乐交流平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

我做数画ai绘画教程日赚过千,良心分享给想兼职赚钱的人

ai绘画能实现日赚过千&#xff0c;你信吗&#xff1f; 现在什么是风口&#xff1f;当然是ai绘画。而AI绘画里&#xff0c;什么最受欢迎&#xff0c;不用说&#xff0c;自然是二次元。 然后&#xff0c;很多人一拥而上&#xff0c;都去拍自己的二次元照片&#xff0c;然后在各…

10000m3d城镇生活污水处理工艺设计

目 录 1前 言 1 1.1 设计任务 2 1.2 设计目的 2 1.3 设计要求 2 1.4设计的数据以及资料 2 1.5 处理程度的计算 3 2 总体设计 5 2.1工艺比较的选择 5 2.2设计流量 8 2.2.1 设计规模 8 2.2.2 设计最大流量 8 2.3 格栅的设计计算 8 2.3.1格栅的作用及种类 8 2.3.2格栅的设计原则 8…

Linux系统编程(一)——环境搭建

准备写系统的总结Linux系统的一些知识以及Linux系统编程。这一篇先讲Linux搭建常用的开发环境。 目录 0x01 Linux开发环境搭建 一、远程链接操作 0x02 GCC 一、安装 二、了解GCC 0x03 静态库的制作及使用 一、库的介绍 二、静态库 0x04 动态库的制作和使用 一、配置…

Python遥感开发之批量掩膜和裁剪

Python遥感开发之批量掩膜和裁剪1.使用arcpy进行批量掩膜1.1 批量掩膜代码1.2 单个掩膜代码2.使用GDAL进行批量掩膜3.使用rasterio进行批量裁剪前言&#xff1a;主要介绍了使用arcpy、gdal、rasterio对遥感影像进行批量掩膜和裁剪。 1.使用arcpy进行批量掩膜 注意&#xff1a;…

Spring Boot——日志文件

文章目录1.日志的作用2.日志的用法3.自定义日志打印日志格式的说明4.日志级别5.在配置文件中设置日志级别5.1设置全局的日志级别和局部文件夹的日志级别6. 日志持久化7. 更简单的日志输出-lombok1.日志的作用 日志的作用&#xff1a;用来排除和定位问题 通过日志还可以具有以…

Greenplum数据库故障排查及修复

场景一&#xff1a;gp服务正常&#xff0c;存在部分segment实例丢失 1、异常现象 主节点切换gpadmin用户输入gpstate查看状态 如果红色框内有指向左边的箭头则说明存在部分segment实例丢失。 2、排查思路 首先查看主节点日志&#xff0c;重点关注发生segment丢失那段时间的…

【ML特征工程】第 3 章 :文本数据:扁平化、过滤和分块

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

关于SD-WAN的十问十答(最强攻略戳这里)

1. WAN和SD-WAN之间的区别&#xff1f; 从底层来看&#xff0c;相较基于硬件物理设施的WAN&#xff0c;SD-WAN是一种覆盖现有网络的软件技术&#xff0c;是部署在物理基础设施下层的流量管理网络。 和常规WAN相比&#xff0c;SD-WAN具有虚拟WAN体系结构和软件驱动技术&#xff…

[附源码]java毕业设计圆梦山区贫困学生助学系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

EasyRecovery适用于Windows和Mac的专业硬盘恢复软件

电脑中的数据文件对很多的小伙伴来说都是非常重要的&#xff0c;在下载安装新的软件设备时都需要非常谨慎&#xff0c;一旦碰到一些问题就可能会导致文件丢失&#xff0c;想要恢复这些文件并不是很容易&#xff0c;需要使用专业的数据恢复工具才可以对其进行恢复&#xff0c;那…

考研数据结构填空题整合_做题版

考研数据结构填空题整合 目录考研数据结构填空题整合一、ZYL组ZYL组一ZYL组二ZYL组三ZYL组四ZYL组五ZYL组六ZYL组七ZYL组八二、TJP组TJP组一TJP组二TJP组三三、LZH组LZH 组一LZH 组二LZH 组三LZH 组四LZH 组五LZH 组六LZH 组七四、LB组LB组一LB组二LB组三LB组四LB组五LB组六LB组…

2022年戈登·贝尔奖授予等离子体加速器突破研究

ACM 总裁Cherri Pancake&#xff08;图片来源&#xff1a;网络&#xff09; 11月17日&#xff0c;在达拉斯举行的SC22颁奖典礼上&#xff0c;ACM将2022年戈登贝尔奖&#xff08;Gordon Bell Prize&#xff09;授予了一组研究人员&#xff0c;他们利用四台超级计算机&#xff08…

kill-9 用时一时爽,悔恨火葬场!!!

目录 前言 kill -9 和kill -15的区别 常见的信号值有&#xff1a; 信号值9和15的区别&#xff1a; 总结 前言 相信很多程序员对于Linux系统都不陌生&#xff0c;即使自己的日常开发机器不是Linux&#xff0c;那么线上服务器也大部分都是的&#xff0c;所以&#xff0c;掌…