蓝桥杯刷题第九天

news2025/2/22 21:06:48
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
素数就是不能再进行等分的整数。比如7,11。而 9 不是素数,因为它可以平分为 3 等份。一般认为最小的素数是2,接着是 3,5,...
请问,第 100002(十万零二)个素数是多少?
请注意:“2” 是第一素数,“3” 是第二个素数,依此类推。
运行限制
最大运行时间:1s
最大运行内存: 128M

直接找,筛质数的话也行

#include<iostream>
using namespace std;

bool check(int x){
  for(int i = 2; i <= x / i; i++)
    if(x % i == 0)
      return false;
  return true;
}

int main(){
  int ans = 0;
  for(int i = 2; ; i++){
    if(check(i)) ans++;
    if(ans == 100002) {
      cout<<i<<endl;
      break;
    }
  }
  return 0;
}

补充筛质数

题目是,找出1到n的质数个数

埃式筛法

遍历1到n所有的数,找出每个数的倍数,是倍数的变为false

#include<iostream>
using namespace std;

const int N = 1000010;
int n;
int primes[N], cnt;
bool st[N];

void get_prime(int n){
    for(int i = 2; i <= n; i++){
        if(!st[i]){
            primes[cnt++] = i;
            for(int j = i + i; j <= n; j += i) st[j] = true;
        }
    }
}

int main(){
    cin>>n;
    
    get_prime(n);
    
    cout<<cnt<<endl;
    return 0;
}

线性筛法

只用最小质因子来筛,每个数只会被筛一次,所有是线性的

primes[j] 一定是 i 的最小质因子

#include<iostream>
using namespace std;

const int N = 1000010;
int n;
int primes[N], cnt;
bool st[N];

void get_prime(int n){
    for(int i = 2; i <= n; i++){
        if(!st[i]) primes[cnt++] = i;
        for(int j = 0; primes[j] <= n / i; j++){
            st[primes[j] * i] = true;
            if(i % primes[j] == 0) break;
        }
    }
}

int main(){
    cin>>n;
    
    get_prime(n);
    
    cout<<cnt<<endl;
    return 0;
}

第二题:图书排列

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
将编号为 1 ~ 10 的 10 本书排放在书架上,要求编号相邻的书不能放在相邻的位置。
请计算一共有多少种不同的排列方案。
运行限制
最大运行时间:1s
最大运行内存: 128M

全排列问题,全排列枚举,进行判断即可

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
  int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  int ans = 0;
  do{
    bool falg = 0;
    for(int i = 1; i < 10; i++)
      if(a[i] - 1 == a[i-1] || a[i-1] == a[i] + 1) falg = 1;
    if(!falg) ans++;

  }while(next_permutation(a, a + 10));

  printf("%d", ans);
  return 0;
}

第三题:日志统计

题目描述
小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有 N 行。其中每一行的格式是:
ts id
表示在 ts 时刻编号 id 的帖子收到一个"赞"。
现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是"热帖"。
具体来说,如果存在某个时刻 T 满足该帖在[T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是"热帖"。
给定日志,请你帮助小明统计出所有曾是"热帖"的帖子编号。
输入描述
输入格式:
第一行包含三个整数 N,D,K
以下 N 行每行一条日志,包含两个整数 ts 和 id。
其中,1≤KN≤10 5 ,0≤ts≤10 5 ,0≤id≤10 5
输出描述
按从小到大的顺序输出热帖 id。每个 id 一行。
输入输出样例
输入
7 10 2
0 1
0 10
10 10
10 1
9 1
100 3
100 3
copy
输出
1
3

贪心加双指针,进行排序,再在时间范围内选取帖子

#include<algorithm>
#include<iostream>
using namespace std;

#define x first
#define y second

typedef pair<int, int> PII;
const int N = 100010;
int n, t, k;
PII logs[N];
int cnt[N];
bool st[N];


int main(){
    scanf("%d%d%d", &n, &t, &k);

    for(int i = 0; i < n; i++) scanf("%d%d", &logs[i].x, &logs[i].y);
    sort(logs, logs + n);

    for(int i = 0, j = 0; i < n; i++){
        int id = logs[i].y;
        cnt[id] ++;

        while(logs[i].x - logs[j].x >= t){
            cnt[logs[j].y]--;
            j ++;
        }

        if(cnt[id] >= k) st[id] = true;
    }

    for(int i = 0; i <= N; i++)
        if(st[i])
            printf("%d\n", i);
    return 0;
}

第四题:杨辉三角

下面的图形是著名的杨辉三角形:

如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列: 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯

给定一个正整数 N,请你输出数列中第一次出现 N 是在第几个数?

输入描述

输入一个整数 N

输出描述

输出一个整数代表答案。

输入输出样例

输入
6
输出
13

有点傻的做法,骗分,别学我

#include<iostream>
using namespace std;

const int N = 10000;
int n;
int a[11];

int main(){
  int a[22] = {1,1,1,1,1,1,1,3,3,1,1,4,6,4,1,1,5,10,10,5,1};

  scanf("%d", &n);

  for(int i = 0; i <= 21; i++)
    if(a[i] == n){
      cout<<i + 1<<endl;
      break;
    }

  return 0;
}

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

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

相关文章

el-upload 超详细-(附件,图片,多类型文件)玩转上传upload--new FormData()

代码&#xff08;我的项目代码&#xff1a;注解在下面&#xff09;代码复制直接用&#xff0c;可以实现所有文件上传&#xff0c;更改接口即可&#xff08;如需详细注解&#xff0c;学习&#xff0c;下面的详解完全够用&#xff0c;从0到学会这一片加官方文档就够了&#xff09…

Electron 分享(入门,安装,打包)

Electron Electron 是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架 安装 在使用 Electron 进行开发之前&#xff0c;需要安装Node.js&#xff0c;可以在终端输入以下命令输出了 Node.js 和 npm 的版本信息&#xff1a; node -v npm -v没有安装的话&#xff0c…

css 100vw、100vh出现滚动条怎么解决

要搞清楚这个问题首先要知道这两个单位&#xff08;vw、vh&#xff09;是什么意思。vw&#xff08;vh&#xff09;是相对于浏览器的视口宽度&#xff08;高度&#xff09;的&#xff0c;100vh等于浏览器的视口宽度&#xff0c;设置vw和vh会在视口发生变化时重新计算宽度和高度。…

【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

文章目录[TOC](文章目录)方法一、 Luckysheet 预览方法二、 Office Web 查看器&#xff08;微软的开发接口&#xff09;方法三、 XDOC文档预览云服务(预览pdf、word、xls、ppt)方法一、 Luckysheet 预览 Luckysheet 是一个类似于 excel 的在线电子表格&#xff0c;功能强大、配…

超详细纯前端导出excel并完成各种样式的修改(xlsx-style)

超详细纯前端导出excel并完成各种样式的修改&#xff08;xlsx-style&#xff09; 一杠正在上传…重新上传取消 2020年12月08日 17:53 阅读 6247 一、前言 最近做的项目涉及到了excel的导出&#xff0c;在这块真的花了很多的时间&#xff0c;起初需求是不需要样式层面的修改…

【css】svg修改图标颜色

项目中使用了大量的svg图标&#xff0c;一开始只是导入直接使用&#xff0c;直到产品提出要根据条件修改图标的颜色 svg教程||菜鸟教程 可以简单看下教程了解下svg SVG 意为可缩放矢量图形&#xff0c;SVG 使用 XML 格式定义图像。 导入项目的svg图标大概是这样 有个path路…

怎样在应用中实现自助报表功能

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇将记录几次面试中经常被问到的知识点以及对学习的知识点总结。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复习中&#xff0c;面试中的…

后台管理系统前端模板(html + CSS + JavaScript)

这是为大家准备的资源链接&#x1f910;&#x1f910;&#x1f910;&#xff1a; 提取码&#xff1a;0000 bootstrap_htmb.zip_免费高速下载|百度网盘-分享无限制百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#…

实现Vue按钮(button)绑定回车(enter)事件

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、页面展示二、实现步骤1.在删除对话框的取消与确定按钮之间添加input输入框2.写个监听器&#xff0c;监听弹窗打开时&#xff0c;给input框自动聚焦&#xff…

AI引领技术变革,自动化云平台所带来的测试工程师进阶危机~

推荐&#xff1a; Python全栈白宝书专栏&#xff0c;免费阶段订阅数量4300&#xff0c;购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。福利&#xff1a;加入社区的小伙伴们&#xff0c;除了可以获取博主所有付费专栏的阅读权限之外&#xff0c;还有机会加入 星荐官共赢计划…

微信小程序设计规范

一、宏观角度 微信小程序设计的基本原则是微信设计中心针对在微信类上线的小程序页面总结的设计指南及建议。以下设计原则都是基于对用户的尊重的基础上的&#xff0c;旨在微信生态类建立有号、高效、一致的用户体验的同时&#xff0c;最大程度顺应和支持各业务需求设计…

PHP+MySQL制作简单的用户注册登录界面(注释超详细~附源代码)

成果 网站能实现判断账户信息是否合法&#xff0c;同时附带验证码验证登录。在用户输入正确的用户名与密码后会有登录成功的弹窗&#xff0c;若输入的账户不存在&#xff0c;则会跳转至注册页面。 实现过程 项目文件分配&#xff1a; 1.首先创建login.html 实现的是用户登录…

vue-element-admin--使用体验

原文网址&#xff1a;vue-element-admin--使用体验_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍vue-element-admin的用法。 vue-element-admin 是一个后台前端解决方案&#xff0c;它基于 vue 和 element-ui实现。它使用了最新的前端技术栈&#xff0c;内置了 i18 国…

小满Vue3第三十九章(Vue开发桌面程序Electron)

建议视频教程小满Vue3&#xff08;第三十九章 electron桌面程序&#xff09;_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. 我们用的VsCode 也是 electron 开发的 electron 内置了 Chromium 和 nodeJS 其中…

【最简便方法】element-plus/element-ui走马灯配置图片以及图片自适应

首先展示官网给的模板 <template><el-carousel :interval"4000" type"card" height"200px"><el-carousel-item v-for"item in 6" :key"item"><h3 text"2xl" justify"center">…

前端实现文件下载的方法

前端实现文件下载 前端下载一般分为两种情况&#xff0c;一种是后端直接给一个文件地址&#xff0c;通过浏览器打开就可以下载&#xff0c;另外一种则需要发送请求&#xff0c;后端返回二进制流数据&#xff0c;前端解析流数据&#xff0c;生成URL&#xff0c;实现下载。 一、…

css添加边框阴影

css边框阴影如何设置&#xff1f; 语法&#xff1a; <style> box-shadow: h-shadow v-shadow blur spread color inset; </style> 取值&#xff1a; h-shadow&#xff1a;必需设置的值&#xff0c;定义水平阴影的位置。允许负值。 v-shadow&#xff1a;必需设置…

微信小程序web-view与H5 通信方式探索

本文作者为奇舞团前端开发工程师小程序简介小程序是一种全新的连接用户与服务的方式&#xff0c;它可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。需求微信小程序 H5 混合开发就是 在一个小程序中&#xff0c;采用部分小程序原生页面&#xff0c;部分通过…

Vue组件通信——父子组件通信的四种方法

引入组件 全局引入 在main.js文件中引入并注册 import ChildrenDemo from /views/components/ChildrenDemo Vue.component(ChildrenDemo,ChildrenDemo)// 第一个参数 全局组件的名字(字符串类型)&#xff0c;第二个参数&#xff1a;引入的组件名&#xff08;一般都与组件名保持…

【前端开发环境安装、配置、项目搭建全教程】

前端开发环境安装、配置、项目搭建全教程 1.Node环境安装 简单的说 Node.js 就是运行在服务端的 JavaScrip&#xff0c;基于 Chrome JavaScript 运行时建立的一个平台&#xff0c;Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&…