蓝桥杯刷题(三)

news2024/11/19 4:28:40

蓝桥杯刷题

  • 一.等差素数列(较难)
  • 二.货物摆放(思路新奇)
  • 三.既约分数
  • 四.跳跃
  • 五.数值求值(坑题)

蓝桥杯题库

一.等差素数列(较难)

在这里插入图片描述

这道题有公式,其等差就是它长度内所有素数的乘积,也就是2 * 3 * 5 * 7

当然我们基本上不会看到这种公式,所以如果用程序来写的话,我们使用枚举法

int is_prime(int i)
{
    int j = 0;
    for (j = 2; j < i / 2; j++)
    {
        if (i % j == 0)
        {
            return 0;
        }
    }
    return 1;
}

int main()
{
    int i = 0, n = 0;
    for (i = 2; i < 10000; i++)//枚举从2到10000的数字
    {
        if (is_prime(i))//如果第一个是素数
        {
            for (n = 2; n < 1000; n++)//枚举等差的值
            {
                int k = 0;//这是后面的个数
                while (is_prime(i + n * k))//如果该素数加上一个等差值依然是素数就继续
                {
                    k++;
                }
                if (k == 10)//如果该素数一直加了10个n依然是素数,就说明他的长度是10
                {
                    printf("%d", n);
                    return 0;//这里直接退出main函数
                }
            }
        }
    }
    return 0;
}

二.货物摆放(思路新奇)

在这里插入图片描述

这道题其实就是判断三个数出现组合次数

我们先不区分长宽高,单单从有哪些数相乘的积是n来看

我们令i是那个较小数,j是那个较大数,k是那个最大数

#include<stdio.h>
int main()
{
    long long n=2021041820210418;
    long long k,s,sum=0;
    for(long long i=1;i*i*i<=n;i++)//由于i是最小的,那么它最大为三次根号下n
    {
        if(n%i==0)//如果i是n的一个因数
        {
            s=n/i;//剩下是k和j的乘积
            for(long long j=i;j*j<=s;j++)//由于j是j和k中小的,那么j最大可达到开根号s
            {
                if(s%j==0)//如果j是s的因数(也是n的第二个因数)
                {
                    k=n/i/j;
                    //以下进行排序
                    if(i==j&&i==k)//如果三个因数全部相等(例如3,3,3),那么只有一种排序
                        sum++;
                    else if(i==j&&i!=k)//如果有两个因数相等(例如1,3,3),那么有三种排序
                        sum+=3;
                    else  //如果三个因数都不相等(例如1,2,3)那么有六种排序
                        sum+=6;
                }
            }
        }
    }
    printf("%d",sum);
    return 0;
}

三.既约分数

在这里插入图片描述

这道题其实就是求两个数是不是互为素数,这里主要考察的是如何求最大公约数,我在这用的是辗转相除法

#include<stdio.h>
int Gcd(int a,int b)
{
	if(a > b)
	{
		if(a % b == 0)
		{
			return b;
		}
		else
		{
			return Gcd(b,a%b);    
		}
	}
	else
	{
		if(b % a == 0)
		{
			return a;
		}
		else
		{
			return Gcd(a,b%a);
		}
	}
}

int main()
{
  int count=0;
  for(int i=1;i<=2020;i++)
  {
    for(int j=1;j<=2020;j++)
    {
      if(Gcd(i,j)==1)
      {
        count++;
      }
    }
  }
  printf("%d",count);
  return 0;
}

辗转相除法如果不会可以去网上搜,很多讲解,这里就不介绍啦

四.跳跃

在这里插入图片描述在这里插入图片描述在这里插入图片描述

这道题如果用图表示出来的话

在这里插入图片描述

其实就是判断这九个格子的最大值,然后赋值

#include <stdio.h>
int b[105][105];//每个点的权值
int find_max(int x,int y)
{
  int max=0;
  for(int i=x;i>=1;i--)
  {//从下往上倒推
    for(int j=y;j>=1;j--)
    {//从右往左倒推
      if(!(x==i&&y==j)&&(x-i+y-j)<=3&&max<b[i][j]){
        //同时满足三个条件
        //1.不原地踏步2.每次跳跃在距离范围之内3.比当前max更大时才更新max
        max=b[i][j];
      }
    }
  }
  return max;
}
int main(){
  int n,m;
  scanf("%d %d",&n,&m);
  int i,j;
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=m;j++)
    {
      scanf("%d",&b[i][j]);
    }
  }
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=m;j++)
    {
      b[i][j]+=find_max(i,j);
    }
  }
  printf("%d",b[n][m]+b[1][1]);//最后一个元素加之前所有权重的最大值
  return 0;
}

五.数值求值(坑题)

在这里插入图片描述

这道题说实话让我一言难尽,其实很简单,但它就坑在数值太大

如果数值正常,我们可以如下写

#include <stdio.h>
int main(void)
{
  int a=1,b=1,c=1,d,i;
  for(i=4;i<=20190324;i++)
  {
    d=a+b+c;//a为第一项,b为第二项,c为第三项,d为第四项,d=前三项和
    a=b;//将第二项值给第一项
    b=c;//将第三项值给第二项
    c=d;//将第四项值给第三项
  }
  printf("%d",d);
  return 0;
}

这其实就是一个斐波那契数列,但我提交时怎么也过不了,因为这个数值太大了,无论是long还是longlong都存不下,这就很坑了,那我们只能如下写

#include <stdio.h>
int main(void)
{
  int a=1,b=1,c=1,d,i;
  for(i=4;i<=20190324;i++)
  {
    d=(a+b+c)%10000;//题目要求我们只取最后四位 , 那我们可以对每次运算出来的结果 %10000 这样每次结果就都保留最后四位数字
    a=b;
    b=c;
    c=d;
  }
  printf("%04d",d);
  return 0;
}

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

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

相关文章

Seata安装并注册集成到Nacos服务上

目录 一.工具地址与版本 二.解压与配置 三.创建数据库&#xff0c;执行脚本 四.启动与调试 五.seata高可用 六.查看启动情况 一.工具地址与版本 1.nacos-server-2.0.3 下载地址&#xff1a;Releases alibaba/nacos GitHub 2.seata-server-1.4.2 下载地址&#xff1…

小侃设计模式(十四)-职责链模式

1.概述 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是为请求创建了一个接收者对象的链&#xff0c;让请求沿着这条链进行传播&#xff0c;直到有对象处理它为止&#xff0c;它属于典型的行为型模式。这种方式降低了发送者和处理者之间的耦合关系&…

HTML+CSS简单的网页制作期末作业 关于我的家乡——四川文化网页介绍 DW大学生网页作业制作设计 Dreamweaver简单网页成品

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

chapter1——亚稳态的世界

目录1.亚稳态理论2.亚稳态窗口3.计算MTBF4.避免亚稳态多级同步器时钟倍频电路的多级同步器5.亚稳态测试电路6.同步器类型7.综合性建议在异步系统中&#xff0c;由于数据和时钟的关系不是固定的&#xff0c;因此有时会出现违反建立和保持时间的现象&#xff0c;此时便会输出介于…

OTA: Optimal Transport Assignment for Object Detection原理与代码解读

paper&#xff1a;OTA: Optimal Transport Assignment for Object Detection code&#xff1a;https://github.com/Megvii-BaseDetection/OTA 背景 标签分配&#xff08;Label Assignment&#xff09;是目标检测中重要的一环&#xff0c;经典的标签分配策略采用预定义的规则…

Type-challehges learning: pick

type-challenges/README.zh-CN.md at main TIMPICKLE/type-challenges GitHub 最近真的是迷上了type-challenges。无法自拔 TS真是太香了&#xff01; 今天手写一个pick 从类型定义的属性中&#xff0c;选取指定一组属性&#xff0c;返回一个新的类型定义。 type Pick<T…

Npm——发布依赖库并使用

1. 注册一个NPM账号 npm官方地址&#xff1a;https://www.npmjs.com/ 2. 在本地创建一个目录,输入npm初始化命令&#xff0c;并修改package.json,创建src/index.js入口文件 npm init --yespackage.json name npm发布时的包名&#xff0c;和已有的npm库不能重复version 包版本…

网络安全——SQL注入之安全狗bypass深度剖析

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

这些调试API技巧你熟悉吗?

通常&#xff0c;我们在调试第三方提供的API时&#xff0c;有时候并没那么顺畅&#xff0c;甚至可能本身就是API服务有问题&#xff0c;但是需要提供你结论的"依据"。下面整理了一些API调试技巧&#xff0c;也方便你甩锅 简单来说分为以下两点 检测状态信息检测返回…

MySQl(八):索引机制

MySQl&#xff1a;索引索引概述索引结构B树的演变过程B树Hash索引分类聚集索引和二级索引### 回表查询思考索引语法普通索引联合索引删除索引索引使用索引使用规则之验证索引效率索引使用规则之最左前缀法则索引使用规则之索引失效情况索引使用规则之SQL提示索引使用规则之覆盖…

java多线程

最近看了寒食君的java多线程的教程&#xff0c;感觉深受启发&#xff0c;做个笔记以后方便回忆。 寒食君的个人空间-寒食君个人主页-哔哩哔哩视频 java多线程 什么是线程模型? JVM线程与操作系统线程之间存在着某种映射关系&#xff0c;这两种不同维度的线程之间的规范和协…

SpringCloud微服务(十)——Hystrix服务降级熔断限流

Hystrix服务降级熔断限流 SpringCloud&#xff0c;已停更 前言 分布式系统面临的问题&#xff0c;复杂分布式体系结构中的应用程序&#xff0c;有数10个依赖关系&#xff08;feign调用&#xff09;, 每个依赖关系在某些时候将不可避免地失败。低耦合就是微服务之间关系少。当…

pytorch初学笔记(十):神经网络基本结构之最大池化的使用

目录 一、最大池化&#xff1a;下采样 1.1 参数介绍 1.2 公式 二、最大池化的作用和目的 三、代码实战 3.1 题目要求 3.2 池化的具体实现 3.2.1 步骤 3.2.2 报错及其原因 3.2.3 ceil_mode不同运行的结果不同 3.2.4 完整代码 3.3 tensorboard可视化 一、最大池化&…

【强化学习论文合集】AAMAS-2022 强化学习论文 | 2022年合集(三)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

相控阵天线(六):直线阵列特殊综合方法(变形泰勒综合法、贝利斯综合法、伍德沃德抽样法)

目录简介变形泰勒综合法贝利斯综合法伍德沃德-劳森抽样法配相抵消法简介 阵列天线的综合问题是其分析的逆问题&#xff0c;即是在预先给定辐射特性(如方向图形状、副瓣电平等)的情况下&#xff0c;综合出阵列激励幅度和相位。其中特殊综合主要包括&#xff1a;左右副瓣电平不相…

关于Idea合并不同分支代码你怎么看

一、环境说明 1. IDEA版本 2020.1 2. git版本 2.33.0 二、整体合并 1. 软件开发中&#xff0c;在一次版本迭代过程中&#xff0c;大家可能会在同一个开发分支dev进行开发&#xff0c;同时开发不同功能 &#xff0c;开发完以后需要自行合并到测试分支test&#xff0c;交给测试…

Feign高级实战-源码分析

目录参考导读什么是FeignFeign 和 Openfeign 的区别OpenFeign的启动原理在启动类申明EnableFeignClientsregisterDefaultConfigurationregisterFeignClientsregisterFeignClientgetTarget()创建一个代理对象HttpClientFeignLoadBalancerConfigurationOpenFeign 的工作原理动态代…

多策略协同改进的阿基米德优化算法及其应用(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

论文阅读:On the User Behavior Leakage from Recommender System Exposure

论文地址 Motivation&#xff1a; 现阶段对于用户行为的保护仅仅从用户端来考虑&#xff0c;比如用户的行为数据等。然而推荐系统是一个闭环的过程&#xff0c;即用户交互了物品&#xff0c;推荐系统根据用户的交互信息去推荐物品&#xff0c;用户也会根据推荐系统推荐的物品做…

[Java] 浅析rpc的原理及所用到的基本底层技术

文章目录前言阅读前须知rpc是什么&#xff1f;别的进程 vs 别的机器rpc的目的或是我们为什么需要rpc&#xff1f;实现rpc所涉及到的底层技术1. 通信技术&#xff08;网络IO、Network IO&#xff09;套接字&#xff08;Socket&#xff09;bio、nio与Netty2. 网络协议&#xff08…