第几个幸运数字(蓝桥杯)

文章目录

  • 第几个幸运数字
    • 题目描述
    • 答案:1905
    • 生成法
    • C++代码
      • 代码详细注释
      • 代码思路解释

第几个幸运数字

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

到x星球旅行的游客都被发给一个整数,作为游客编号。

x星的国王有个怪癖,他只喜欢数字3,5和7。

国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。

我们来看前10个幸运数字是:

3 5 7 9 15 21 25 27 35 45

因而第11个幸运数字是:49

小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。

请你帮小明计算一下,59084709587505是第几个幸运数字。

答案:1905

生成法

首先,我们需要明白题目,即幸运数字只能有3,5,7这三个数作为因子,其他数都不行
那么,我们就只需要生成只有3,5,7因子的数,例如:
3*3,3*5,3*7,5*3,5*5,5*7,7*3,7*5,7*7,9*3,9*5,9*7……
如下图所示:
在这里插入图片描述
由图可得,如果我们要得到59084709587505这个数,我们需要对数组里存的数进行排序和去重,所以在代码中使用set容器,最后输出set存了多少数字即可

C++代码

这段代码的目的是找出一个给定的整数(在这个例子中是59084709587505)是第几个只包含3, 5, 7作为因子的“幸运数字”。下面是对代码的详细注释和解释。

代码详细注释

// 引入所有标准库
#include<bits/stdc++.h>
// 使用标准命名空间
using namespace std;// 定义一个长整型别名ll
typedef long long ll;
// 定义幸运数字的上限为给定的数字
ll maxn=59084709587505;
// 定义一个集合p,用来存储幸运数字
set<ll> p;int main()
{// 定义一个数组a,包含数字3,5,7int a[]={3,5,7};// 定义一个变量tou,它将会是用来生成幸运数字的基数ll tou=1;// 无限循环while(true){// 遍历数组afor(int i=0;i<3;i++){// 将tou乘以3,5,7中的每个数ll tt=tou*a[i];// 如果计算出的数字小于或等于maxn,则将它加入到集合p中if(tt<=maxn)p.insert(tt);}// 找到集合p中大于tou的最小的数字,并更新toutou=*p.upper_bound(tou);// 如果tou等于maxn,则终止循环if(tou==maxn) break;}// 输出集合p的大小,即小明的幸运数字是第几个幸运数字cout<<p.size();return 0;
}

代码思路解释

代码的基本思路是生成一个幸运数字的集合,然后计算给定的幸运数字在集合中的位置。这里的幸运数字是指仅包含3、5、7作为因子的数字。这是通过以下步骤实现的:

  1. 初始化: 定义一个长整型的集合p来存储生成的幸运数字,初始基数tou设置为1。

  2. 生成幸运数字: 通过一个无限循环,乘以3、5、7,并将结果小于等于给定数maxn的数添加到集合p中。

  3. 更新基数: 使用upper_bound函数来找到集合中大于当前基数tou的最小元素,并更新tou为这个元素。这一步确保了每次都在增加新的幸运数字到集合中。

  4. 终止条件: 当更新后的基数tou等于maxn时,循环结束。

  5. 输出结果: 集合p现在包含了小于等于maxn的所有幸运数字。输出集合的大小即得到给定的幸运数字是第几个。

最终,程序输出集合p的大小,这个大小就是小明幸运数字的排名。

重要的是要注意,这个程序假设给定的数字确实是一个幸运数字,因此它会出现在集合p中。程序利用了set在C++标准库中的性质,即它会自动排序且不包含重复元素。

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

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

相关文章

Opencv C++和Python教程

1、何为Opencv? OpenCV是一个开源的计算机视觉和机器学习库,它提供了丰富的图像处理和计算机视觉算法,如图像处理、目标检测、人脸识别、物体跟踪等。OpenCV最初由英特尔公司发起,现在是由社区维护和开发。OpenCV支持多种编程语言,如C++、Python、Java等,可以在不同的操…

软考高级架构师:安全模型概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

软考高级架构师:信息安全保护等级

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Java接口实战:模拟咖啡制作、订购与消费完整流程(day14)

定义接口&#xff1a; // 咖啡制作接口 interface CoffeeMaker { Coffee makeCoffee(String type); } // 咖啡店接口 interface CoffeeShop { void orderCoffee(String type, CoffeeConsumer consumer); } // 咖啡消费者接口 interface CoffeeConsumer { void …

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑新能源发电商租赁共享储能的电力市场博弈分析》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

解决前后端通信跨域问题

因为浏览器具有同源策略的效应。 同源策略是一个重要的网络安全机制&#xff0c;用于Web浏览器中&#xff0c;以防止一个网页文档或脚本来自一个源&#xff08;域、协议和端口&#xff09;&#xff0c;获取另一个源的数据。同源策略的目的是保护用户的隐私和安全&#xff0c;防…

maven pom relativePath属性的作用

maven pom relativePath属性的作用 文章目录 maven pom relativePath属性的作用一、relativePath出现的地方二、relativePath默认值三、四、<relativePath>一个pom路径 一、relativePath出现的地方 搭建maven项目&#xff0c;子模块指定父模块试&#xff0c;经常会在par…

专升本-信息技术介绍

信息技术是什么&#xff1f; 用于管理和处理信息所采用的各种技术的总称 以电子计算机和现代通信为主要手段 位于信息科学体系的技术应用层次 新一代信息技术有哪些&#xff1a; 代表性&#xff1a;人工智能&#xff0c;量子信息&#xff0c;移动通信&#xff0c;物联网&a…

Ubuntu中文输入法设置指南:轻松上手,畅享输入体验

在Linux的世界里,Ubuntu以其强大的功能和优美的界面设计赢得了众多用户的喜爱。然而,对于许多中文用户来说,如何在Ubuntu上设置中文输入法却是一个不小的挑战。今天,就让我来为大家详细介绍一下如何在Ubuntu上轻松设置中文输入法,让您的输入体验更加流畅自如。 首先,我们…

【使用python读取多类型文件夹中的文档内容】

突发奇想&#xff0c;想使用python读取多类型文件夹中的文档内容&#xff0c;在Python中&#xff0c;读取多类型文件夹中的文档内容通常涉及几个步骤&#xff1a; 遍历文件夹以获取文件列表。根据文件扩展名判断文件类型。使用适当的库或方法来读取每种文件类型的内容。 以下…

java数组与集合框架(三)--Map,Hashtable,HashMap,LinkedHashMap,TreeMap

Map集合&#xff1a; Map接口: 基于 键&#xff08;key&#xff09;/值&#xff08;value&#xff09;映射 Map接口概述 Map与Collection并列存在。用于保存具有映射关系的数据:key-value Map 中的key 和value 都可以是任何引用类型的数据Map 中的key 用Set来存放&#xff0…

stitcher类实现多图自动拼接

效果展示 第一组&#xff1a; 第二组&#xff1a; 第三组&#xff1a; 第四组&#xff1a; 运行代码 import os import sys import cv2 import numpy as npdef Stitch(imgs,savePath): stitcher cv2.Stitcher.create(cv2.Stitcher_PANORAMA)(result, pano) stitcher.st…

【每日跟读】常用英语500句(400~500)

【每日跟读】常用英语500句 Where can I buy a ticket? 在哪里能买到票&#xff1f; When is the next train? 下趟火车什么时候到&#xff1f; Thank you so much for helping me move yesterday. 非常感谢你昨天帮我搬家 I’m feeling a little under the weather toda…

创业项目开发(持续更新)

最近项目梳理&#xff1a; 一、业务目标 最重要的业务目标就是要能实现自己做事情赚钱。所以有两个维度&#xff0c;第一个维度就是最重要的就是自己做事情。第二个维度才是赚钱。 如果要自己做事情&#xff0c;需要什么样的事情&#xff0c;这个事情的目标是什么&#xff0…

Vue + .NetCore前后端分离,不一样的快速发开框架

摘要&#xff1a; 随着前端技术的快速发展&#xff0c;Vue.NetCore框架已成为前后端分离开发中的热门选择。本文将深入探讨Vue.NetCore前后端分离的快速开发框架&#xff0c;以及它如何助力开发人员提高效率、降低开发复杂度。文章将从基础功能、核心优势、适用范围、依赖环境等…

微信小程序开发中容易出现的错误思路、误区及示例解析

在微信小程序开发中,由于其特殊的开发环境和运行机制,开发者容易产生一些错误思路和陷入一些误区。以下是一些常见的错误思路和误区,并通过代码示例进行说明: 页面渲染和事件处理的顺序问题 错误思路:开发者认为页面渲染完成后才会执行事件处理函数。 示例代码: // pages/i…

[linux] AttributeError: module ‘transformer_engine‘ has no attribute ‘pytorch‘

[BUG] AttributeError: module transformer_engine has no attribute pytorch Issue #696 NVIDIA/Megatron-LM GitHub 其中这个答案并没有解决我的问题&#xff1a; import flash_attn_2_cuda as flash_attn_cuda Traceback (most recent call last): File "<stdi…

【蓝桥杯嵌入式】六、真题演练(一)-1演练篇:第 届真题

温馨提示&#xff1a; 真题演练分为模拟篇和研究篇。本专栏的主要作用是记录我的备赛过程&#xff0c;我打算先自己做一遍&#xff0c;把遇到的问题和不同之处记录到演练篇&#xff0c;然后再返回来仔细研究一下&#xff0c;找到最佳的解题方法记录到研究篇。 解题记录&#x…

绿联 安装轻量源代码管理器 - Gitea

更多信息点击 1、镜像 gitea/gitea:latest 2、安装 2.1、拉取镜像 2.2、创建容器 本示例中限制了内容最大大小为4GB&#xff0c;也可以不做限制。 2.3、基础设置 开启 交互、TTY、重启策略选择最后一项。 2.4、网络 选择桥接即可。 2.5、存储空间 装在路径必须是“/data”…

整合SpringSecurity+JWT实现登录认证

一、关于 SpringSecurity 在 Spring Boot 出现之前&#xff0c;SpringSecurity 的使用场景是被另外一个安全管理框架 Shiro 牢牢霸占的&#xff0c;因为相对于 SpringSecurity 来说&#xff0c;SSM 中整合 Shiro 更加轻量级。Spring Boot 出现后&#xff0c;使这一情况情况大有…