蓝桥杯刷题第九天

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
素数就是不能再进行等分的整数。比如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.mfbz.cn/a/486.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习面试题汇总(一)

深度学习面试题汇总&#xff08;一&#xff09; 文章目录深度学习面试题汇总&#xff08;一&#xff09;1.Dropout1.1Dropout在训练的过程中会随机去掉神经元&#xff0c;那么在编码过程中是怎么处理的呢&#xff1f;1.2dropout的训练过程需要做rescale&#xff0c;这个过程是什…

Candence PCB Si 仿真设计篇3:板级链路仿真

接上篇Candence PCB Si 仿真设计篇2&#xff1b;提示仿真链路中无VIA过孔仿真模型&#xff0c;可手动添加VIA过孔仿真模型&#xff1b; 1.添加过孔VIA仿真模型. 在SigXplorer PCB SI GXL界面中&#xff0c;菜单栏Analyze->Via Model Generator弹出设置VIA模型设置&#xf…

VR全景城市,用720全景树立城市形象,打造3D可视化智慧城市

随着城市化进程的加速&#xff0c;城市之间的竞争也日益激烈。城市管理者们需要寻求新的方式来提升城市的品牌形象和吸引力。在这个过程中&#xff0c;VR全景营销为城市提供了一种全新的营销手段&#xff0c;可以帮助提升城市的价值和吸引力。一、城市宣传新方式VR全景营销是一…

自学大数据第八天~HDFS命令(二)

嗨喽,好久不见,最近抽空复习了一下hadoop,书读百遍,其意自现这句话还真是; 继续学习HDFS常用命令 改变文件 拥有者~chown hdfs dfs -chown -R hadoop /user/hadoop使用 -R 将使改变在目录结构下递归进行。命令的使用者必须是超级用户。 改变文件所属组-chgrp hdfs dfs -chgr…

Swing开发教程从入门到实践(一)

文章目录开发工具设置实战示例自定义组件常用组件总览JFrameJDialogJPanelLayout布局高级扩展扩展皮肤FlatLafweblaf扩展组件自定义组件SwingX打包部署打包成可执行Jar打包成成品参考开发工具 传统套件IDEAUI Designer。 UI Designer是一个idea插件&#xff0c;可以帮助我们通…

tailwind和bootstrap对比优劣有哪些,给前端开发者的一些建议

一、概述Tailwind和Bootstrap是两种流行的CSS框架&#xff0c;它们都提供了快速、易用的CSS类库来帮助前端开发者构建出现代化的网站和应用程序。它们有一些相似之处&#xff0c;但也有很多不同的优势和劣势。二、对比Tailwind的优势:1.自定义程度更高: Tailwind提供的所有CSS类…

【数论】最大公约数、约数的个数与约数之和定理

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

朋友去华为面试,轻松拿到26K的Offer,羡慕了......

最近有朋友去华为面试&#xff0c;面试前后进行了20天左右&#xff0c;包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说&#xff0c;80%的人都会栽在第一轮面试&#xff0c;要不是他面试前做足准备&#xff0c;估计都坚持不完后面几轮面试。 其实&…

java面试八股文之------Java并发夺命23问

java面试八股文之------Java并发夺命23问&#x1f468;‍&#x1f393;1.java中线程的真正实现方式&#x1f468;‍&#x1f393;2.java中线程的真正状态&#x1f468;‍&#x1f393;3.如何正确停止线程&#x1f468;‍&#x1f393;4.java中sleep和wait的区别&#x1f468;‍…

【STC15单片机】 超声波模块的使用

目录 1 基于STC15F2K60S2的超声波测距代码 1.1 基本注意事项 1.1.1 跳线帽接法 1.1.2 晶振设置 1.2 板载超声波工作原理 1.2.1 原理总结 1.2.2 超声波代码思路 1.3 STC15单片机代码部分 1.3.1 定时器0&定时器1初始化 1.3.2 超声波ultrasonic.c ultrasonic.h文件配…

C++修炼之练气期第八层——内联函数

文章目录 一、宏的缺点 引例 改正一 改正二 改正三 宏的缺陷 二、内联函数的概念 三、内联与非内联的区别 四、内联函数的特性 专栏导读 &#x1f338;作者简介&#xff1a;花想云&#xff0c;在读本科生一枚&#xff0c;致力于 C/C、Linux 学习。 &#x1f338;本文收…

【linux】:进程地址空间

文章目录 前言一、进程地址空间总结前言 本篇文章接着上一篇文章继续讲解进程&#xff0c;主要讲述了进程在运行过程中是如何在内存中被读取的以及为什么要有虚拟地址的存在&#xff0c;CPU在运行过程中是拿到程序的虚拟地址还是真实的物理内存。 一、进程地址空间 下面我们先…

【Spring从入门到实战】第 5 讲:SpringBoot实现拦截器及其原理

本文已收录于专栏&#x1f332;《Spring从入门到实战》&#x1f332;专栏前言 大家好&#xff0c;我是执梗。本专栏将从Spring入门开始讲起&#xff0c;详细讲解各类配置的使用以及原因&#xff0c;到使用SpringBoot进行开发实战&#xff0c;旨在记录学习生活的同时也希望能帮到…

【Maven】Maven的安装与下载

目录 一、Maven 软件的下载 二、Maven 软件的安装 三、JDK 的准备与统一 1. JDK 环境: 2. Maven 及 JDK 配置 四、Maven 软件版本测试 &#x1f49f; 创作不易&#xff0c;不妨点赞&#x1f49a;评论❤️收藏&#x1f499;一下 一、Maven 软件的下载 为了使用 Maven 管理…

6万字144道耗时72小时吐血整理【金三银四(金九银十)面试小抄之Java经典面试题基础篇总结】(附答案)

目录一.前言二.Java基础面试篇1. 什么是Java&#xff1f;2.Java 和 C的区别&#xff1f;3.Java中常用的注释以及作用&#xff1f;4.标识符的命名规则5.JVM、JRE和JDK的关系6.Oracle JDK 和 OpenJDK 的对比7.Java中基本数据类型8.int 和 Integer 有什么区别9.switch 是否能作用在…

【Effective C++详细总结】第二章 构造/析构/赋值运算

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;C/C知识点 &#x1f4e3;专栏定位&#xff1a;整理一下 C 相关的知识点&#xff0c;供大家学习参考~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;…

理清gcc、g++、libc、glibc、libstdc++的关系

0 理清gcc、g++、libc、glibc、libstdc++的关系 0.1 $ dpkg -L libc6 $ dpkg -L libc6 /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu/ld-2.31.so /lib/x86_64-linux-gnu/libBrokenLocale-2.31.so /lib/x86_64-linux-gnu/libSegFault.so /lib/x86_64-linux-gnu/libanl-2.31.s…

Java NIO Buffer

Buffer是一块内存&#xff0c;主要用在NIO Channel&#xff0c;比如FileChannel,SocketChannel。 对Channel的读写都是直接操作Buffer对象。 Buffer是一个工具类&#xff0c;提供了操作这个内存块的方法。 Buffer的实现主要有以下几种&#xff1a; Buffer的类型&#xff1a; …

我一个普通程序员,光靠GitHub打赏就年入70万,

一个国外程序员名叫 Caleb Porzio在网上公开了自己用GitHub打赏年入70万的消息和具体做法。 Caleb Porzio 发推庆祝自己靠 GitHub 打赏&#xff08;GitHub Sponsors&#xff09;赚到了 10 万美元。 GitHub Sponsors是 GitHub 2019 年 5 月份推出的一个功能&#xff0c;允许开发…

ConvMixer:Patches Are All You Need

Patches Are All You Need 发表时间&#xff1a;[Submitted on 24 Jan 2022]&#xff1b; 发表期刊/会议&#xff1a;Computer Vision and Pattern Recognition&#xff1b; 论文地址&#xff1a;https://arxiv.org/abs/2201.09792&#xff1b; 代码地址&#xff1a;https:…
最新文章