蓝桥杯刷题--幸运数字

news2024/10/16 21:40:09

幸运数字

        题目:

        解析:

        我们由题目可以知道,某个进制的哈沙德数就是该数和各个位的和取整为0.然后一个幸运数字就是满足所有进制的哈沙德数之和.然后具体就是分为以下几个步骤

        1. 我们先写一个方法,里面主要是用来判断,这个数在该进制下是否是哈沙德数

        2. 我们在main方法里面调用这个方法,来判断分别在二进制,十进制,八进制,十六进制的情况下的哈沙德数,然后我们取交集,取交集的写法我们直接可以用&&操作把上面的判断放在一个if里面进行判断.

        3.我们找的是第2023个,因此我们需要在2的步骤上加上一个循环,并且进行计数,如果满足2,那么计数就进行++,我们直到要找到第2023个数位置,因此我们可以把这个作为突破口,把它当成结束循环的条件.

package 幸运数字;
//哈沙德数就是在某个固定的进位制中,可以被各位的数字之和整除的正整数
//幸运数字就是分别满足十进制,二进制,八进制,十六进制的哈沙德数
//我们求第2023个
public class Test {
    public static void main(String[] args) {
        int count = 0;
        //TODO 2. 我们在main方法里面调用这个方法,来判断分别在二进制,十进制,八进制,十六进制的情况下的哈沙德数,然后我们取交集,取交集的写法我们直接可以用&&操作把上面的判断放在一个if里面进行判断.
        for (int i = 1; ; i++) {
            if (jud(i, 10) && jud(i, 2) && jud(i, 8)
                    && jud(i, 16)) {
                count++;
            }
            //TODO 3. 我们要找到第2023个,那么就在第2023个进行输出并结束循环即可
            if (count == 2023) {
                System.out.print(i);
                break;
            }
        }
    }
    //TODO 1.我们先写一个方法,里面主要是用来判断,这个数在该进制下是否是哈沙德数
    static boolean jud(int num, int base) {
        int initial = num;
        int sum = 0;
        while (num > 0) {
//            while (num/base != 0)

            sum = sum + num % base;
            num = num / base;

        }
        return initial % sum == 0;
    }
}

重点:

学会实现不同进制的哈沙德数的判断,里面就有取出各个位的操作

我们举个例子:如果是123,我们以十进制为例子,我们先取余得到第一位,123%10 = 3,然后我们要取出第二位的话要先通过取整操作,123/10=12,然后我们再对12进行取余操作,12%10=2,依次取出每一位,然后把每一位相加,判断条件,我测试了一下,一开始我写的是num/10!=0,如果我们num一开始就是1的话,我们根本就进不去这个循环,并且后续会出现算数异常,我们以num>0作为条件的依据,我认为,num再怎么取整也不可能位负数,然后为什么不能等于0呢?如果为0的话,那么就会陷入死循环了,num/10==0,这个会导致死循环,

在这个代码里面,我们值得学习的是它这个循环的终止条件

我们不知道到底什么时候是2023个满足上述所有条件的数字,因此我们的for循环里面的i的判断条件不能确定到第多少个,因此我们可以先省略,然后设置个计数器count,每当我们if判断条件满足的时候,我们就让count++,直到count等于2023为止,说明我们找到了第2023个幸运数字,然后我们打印它再进行break进行破除即可.

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

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

相关文章

量化之一:均值回归策略

文章目录 均值回归策略理论基础数学公式 关键指标简单移动平均线(SMA)标准差Z-Score 交易信号实际应用优缺点分析优点缺点 结论 实践backtrader参数:正常情况:异常情况: 均值回归策略 均值回归(Mean Rever…

华为公有云实战

1.申请一台ECS云主机,并且可以提供web服务 1.1访问云主机-华为特有技术novnc,KVM中提到vnc技术,novnc是不用安装vnc客户端用浏览器html语言实现。 1.2cloudshell 1.3小工具 ssh 弹性ip 1.4.安装httpd服务 建立索引文件 浏览器上输入弹性ip可…

网络资源模板--Android Studio 实现简易记事本App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 实现的简易记事本App 二、项目测试环境 三、项目详情 首页 创建一个空的笔记本列表 mNotebookList。使用该列表和指定的布局资源 item_notebook 创建…

前端开发笔记--html 黑马程序员1

文章目录 前端开发工具--VsCode前端开发基础语法VsCode优秀插件Chinese --中文插件Auto Rename Tag --自动重命名插件open in browserOpen in Default BrowserOpen in Other Browser Live Server -- 实时预览 前端开发工具–VsCode 轻量级与快速启动 快速加载:VSCo…

WordPress添加meta标签做seo优化

一、使用function.php文件添加钩子函数添加 方法1、使用is_page()判断不同页面的page_id进行辨别添加不同页面keyword和description (1)通过页面前台源码查看对应页面的id (2)或者通过wordpress后台,点击页面列表&…

云计算ftp 服务器实验

创建VLAN 10 划分端口 创建VLAN 10 的地址 10.1.1.1 服务器的地址是 10.1.1.2 这是服务上的配置 服务器上选择ftp 启动 ,文件目录选择一下 在 交换机上 ftp 10.1.1.2 服务器的地址 把刚才创建的shenyq txt 文件下载下到本地交换机 我们能看到交换…

有关安科瑞Acrel-1000DP分布式光伏监控系统在某公司分布式光伏发电项目中的应用探讨-安科瑞 蒋静

摘要:分布式光伏作为可再生能源的一种重要形式,能够根据不同场地的实际情况进行定制,尽可能地利用可用空间,减少对传统化石燃料的依赖,也能降低温室气体排放、改善环境质量。在政策支持和市场需求的双重推动下&#xf…

电脑查不到IP地址是什么原因?怎么解决

在日常使用电脑的过程中,有时会遇到无法查询到电脑IP地址的情况,这可能会影响到网络的正常使用。本文将探讨电脑查不到IP地址的可能原因,并提供相应的解决方案。 一、原因分析 ‌网络连接问题‌:首先,网络连接不稳定或…

MySQL(B站CodeWithMosh)——2024.10.11(14)

ZZZZZZ目的ZZZZZZ代码ZZZZZZ重点ZZZZZZ操作(非代码,需要自己手动) 8- CASE运算符The CASE Operator_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1UE41147KC?p62&vd_sourceeaeec77dfceb13d96cce76cc299fdd08 在sql_store中&am…

智能网联汽车安全隐患,如何化解?

0. 智能网联汽车安全问题如何才能解决?1. TARA 威胁分析与风险评估平台2. CSTP 智能网联汽车网络安全测试平台3. 智能网联汽车安全解决方案4. 车联网测试认证与培训解决方案5. 车联网网络安全实验室建设方案 0. 智能网联汽车安全问题如何才能解决? 智能…

FFmpeg的简单使用【Windows】--- 简单的视频混合拼接

实现功能 点击【选择文件】按钮在弹出的对话框中选择多个视频,这些视频就是一会将要混剪的视频素材,点击【开始处理】按钮之后就会开始对视频进行处理,处理完毕之后会将处理后的文件路径返回,并在页面展示处理后的视频。 视频所…

【数据结构】排序算法系列——桶排序(附源码+图解)

桶排序 算法思想 桶排序(BucketSort),也被叫做箱排序,它将整个数据组分为n个相同大小的子区间,这类子区间或称为桶。输入数据是均匀、独立分布的,所以一般不会出现一个桶中装有过多数据的情况。作为一种排序算法&…

160页PPT | 埃森哲-制造业变革转型八大领域:痛点剖析与改进策略

PT下载链接见文末~ 引言:制造业数字化转型规划 制造业正处于数字化转型的关键时期,旨在通过技术革新和流程优化,灵活应对市场波动,强化竞争优势,并紧跟技术进步的步伐。此规划围绕三大核心要素展开: 1、…

Pytest中fixture的scope详解

pytest作为Python技术栈下最主流的测试框架,功能极为强大和灵活。其中Fixture夹具是它的核心。而且pytest中对Fixture的作用范围也做了不同区分,能为我们利用fixture带来很好地灵活性。 下面我们就来了解下这里不同scope的作用 fixture的scope定义 首…

8.优化存储过程的性能(8/10)

优化存储过程的性能 1.引言 存储过程是数据库系统中预先编写好的SQL语句集合,它们被保存在数据库服务器上,可以在需要时被调用执行。存储过程的使用可以提高数据库操作的效率,减少网络通信,并且可以封装复杂的逻辑,使…

中科星图GVE(案例)——AI实现建筑用地变化前后对比情况

目录 简介 函数 gve.Services.AI.ConstructionLandChangeExtraction(image1,image2) 代码 结果 知识星球 机器学习 简介 AI可以通过分析卫星图像、航拍影像或其他地理信息数据,实现建筑用地变化前后对比。以下是一种可能的实现方法: 数据获取&am…

全能PDF工具集 | PDF Shaper Ultimate v14.6 便携版

软件简介 PDF Shaper是一款功能强大的PDF工具集,它提供了一系列用于处理PDF文档的工具。这款软件使用户能够轻松地转换、分割、合并、提取页面以及旋转和加密PDF文件。PDF Shaper的界面简洁直观,使得即使是新手用户也能快速上手。它支持广泛的功能&…

牛客一>DP34 【模板】前缀和

1.题目: 【模板】前缀和_牛客题霸_牛客网 2.解析:这里可以看成一个缩小版动态规划 代码: import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scan…

【无人机设计与控制】滑模控制、反步控制、传统PID四旋翼无人机轨迹跟踪控制仿真

摘要 本文基于滑模控制、反步控制和传统PID控制,设计了针对四旋翼无人机的轨迹跟踪控制系统。通过对比这三种控制策略在四旋翼无人机轨迹跟踪中的表现,分析了各自的优缺点和适用场景。仿真结果表明,滑模控制具有更强的鲁棒性,反步…

Windows 远程桌面提示没有远程桌面授权服务器可以提供许可证 无法保存对 graceperiod 权限所作的更改

参考文章:远程连接提示 由于没有远程桌面授权服务器提供许可证 Windows 远程桌面提示没有远程桌面授权服务器可以提供许可证 远程桌面到windows服务器上时报错:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员…