蓝桥复习2
创始人
2025-05-30 20:03:35
0

等差素数列

题目描述

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

2,3,5,7,11,13,....2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。

上边的数列公差为 3030,长度为 66。

20042004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!

有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:

长度为 10 的等差素数列,其公差最小值是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

 题解:

这个题目的考点是所有小于等差素数列的长度的素数的乘积就是该等差素数列的公差。

#include 
using namespace std;
int main()
{// 请在此输入您的代码cout<<210;return 0;
}

跳跃 

题目描述

小蓝在一个 n 行 m 列的方格图中玩一个游戏。

开始时,小蓝站在方格图的左上角,即第 1 行第 1 列。

小蓝可以在方格图上走动,走动时,如果当前在第 r 行第 c 列,他不能走到行号比 r 小的行,也不能走到列号比 c 小的列。同时,他一步走的直线距离不超过 3。

例如,如果当前小蓝在第 3 行第 5 列,他下一步可以走到第 3 行第 6 列、第 3 行第 7 列、第 3 行第 8 列、第 4 行第 5 列、第 4 行第 6 列、第 4 行第 7 列、第 5 行第 5 列、第 5 行第 6 列、第 6 行第 5 列之一。

小蓝最终要走到第 n 行第 m 列。

在图中,有的位置有奖励,走上去即可获得,有的位置有惩罚,走上去就要接受惩罚。奖励和惩罚最终抽象成一个权值,奖励为正,惩罚为负。

小蓝希望,从第 1 行第 1 列走到第 n 行第 m 列后,总的权值和最大。请问最大是多少?

输入描述

输入的第一行包含两个整数 n,m,表示图的大小。

接下来 n 行,每行 m 个整数,表示方格图中每个点的权值。

其中,1≤n≤100,−10^4≤权值≤10^4。

输出描述

输出一个整数,表示最大权值和。

输入输出样例

示例 1

输入

3 5
-4 -5 -10 -3 1
7 5 -9 3 -10
10 -2 6 -10 -4

输出

15

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

题解: 

在每一个点求出当前点的最大权重,横纵坐标只能比当前坐标小,且两坐标的距离不大于3。

#include
#include
#include
using namespace std;
int n,m,map[101][101];
long long v[101][101];
const int minn = 1e5+10;
int shu(int x,int y) {long long int shu = -1*minn;for(int i=1; i<=x; i++) {for(int j=1; j<=y; j++) {if(i==x&&j==y)return shu;if((x-i)*(x-i)+(y-j)*(y-j)<=9){shu=max(shu,v[i][j]+map[i][j]);}}}
}
int main() {cin>>n>>m;for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) {cin>>map[i][j];}}for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) {v[i][j]=-1*minn;}}v[1][1] = map[1][1];for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) {if(i==1&&j==1)continue;v[i][j] = shu(i,j);}}cout<

时间显示

题目描述

小蓝要和朋友合作开发一个时间显示的网站。

在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 0:00:00 到当前时刻经过的毫秒数。

现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。

给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入描述

输入一行包含一个整数,表示时间。

输出描述

输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0​​​​ 到 23​​​​,MM 表示分,值为 0​​ 到 59​​​,SS 表示秒,值为 0​​ 到 59​。时、分、秒 不足两位时补前导 0。

输入输出样例

示例 1

输入

46800999

输出

13:00:00

示例 2

输入

1618708103123

输出

01:08:23

评测用例规模与约定

对于所有评测用例,给定的时间为不超过 10181018 的正整数。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M

这个题目最重要是要清楚输入的数据是毫秒数。

#include
#include
using namespace std;
unsigned long long t;
int main() {cin>>t;t=t/1000;if(t>=86400){t%=86400;} int hh = t/3600;int mm = (t-(hh*3600))/60;int ss = (t-(hh*3600)-(mm*60));printf("%02d:%02d:%02d",hh,mm,ss);return 0;
}

路径

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

小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。

小蓝的图由 2021 个结点组成,依次编号 1 至 2021。

对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。

例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无 向边,长度为 24;结点 15 和结点 25 之间有一条无向边,长度为 75。

请计算,结点 1 和结点 2021 之间的最短路径长度是多少。

提示:建议使用计算机编程解决问题。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

题解:

(1)这个题目很明显用动态规划。当前点的数值,是之前的点加两个点之间的最小公倍数的最小值。

(2)两个数的最小公倍数是两个的乘积除以最大公约数。

#include
#include
#include
#include 
long long int t[2022]; 
using namespace std;
//求最小公倍数
int shu(int a,int b){int c = 0;while(c = a % b){a=b;b=c;}return b;
} 
int main() {memset(t,0,sizeof(t));for(int i=1;i<=2021;i++){for(int j=i+1;j<=i+21&&j<=2021;j++){if(t[j]==0) {t[j]=t[i]+(i*j)/shu(i,j);} else {t[j]=min(t[j],t[i]+(i*j)/shu(i,j));}}}cout<

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...