蓝桥杯专题-试题版含答案-【猜算式】【排列序数】【还款计算】【滑动解锁】

news2024/9/20 10:25:49
  • 点击跳转专栏=>Unity3D特效百例
  • 点击跳转专栏=>案例项目实战源码
  • 点击跳转专栏=>游戏脚本-辅助自动化
  • 点击跳转专栏=>Android控件全解手册
  • 点击跳转专栏=>Scratch编程案例
  • 点击跳转=>软考全系列
  • 点击跳转=>蓝桥系列

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单

芝麻粒儿-空名先生

👉实践过程

需要所有整理的文档可底部卡片联系我,直接发压缩包。

😜猜算式

你一定还记得小学学习过的乘法计算过程,比如:


   273
x   15
------
  1365
  273
------
  4095

请你观察如下的乘法算式

    ***
x   ***
--------
    ***
   ***
  ***
--------
  *****

星号代表某位数字,注意这些星号中,
0~9中的每个数字都恰好用了2次。
(如因字体而产生对齐问题,请参看图p1.jpg)

请写出这个式子最终计算的结果,就是那个5位数是多少?

注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。

#include <bits/stdc++.h>
using namespace std;
int n;
int a[6];
int pd(){
	int p[20]={0};
	for(int i=0;i<6;i++){
		int k=0;
		while(a[i]){
			p[a[i]%10]++;
			if(p[a[i]%10]>2)return 0;
			a[i]/=10;
			k++;
		}
		if(k<3) return 0;
	}
	return 1;
}
int main()
{
	for(int i=100;i<=999;i++)
		for(int j=100;j<=999;j++){
			a[0]=(j%10)*i;a[1]=(j/10%10)*i;  //a保存每一个状态的信息
			a[2]=(j/100)*i;a[3]=i*j;
			a[4]=i;a[5]=j;
			if(pd()){  //判断是否满足条件
				cout<<i*j<<" ";
			}
		}
	
	
	return 0;
} 

😜排列序数

X星系的某次考古活动发现了史前智能痕迹。
这是一些用来计数的符号,经过分析它的计数规律如下:
(为了表示方便,我们把这些奇怪的符号用a~q代替)

abcdefghijklmnopq 表示0
abcdefghijklmnoqp 表示1
abcdefghijklmnpoq 表示2
abcdefghijklmnpqo 表示3
abcdefghijklmnqop 表示4
abcdefghijklmnqpo 表示5
abcdefghijklmonpq 表示6
abcdefghijklmonqp 表示7

在一处石头上刻的符号是:
bckfqlajhemgiodnp

请你计算出它表示的数字是多少?

请提交该整数,不要填写任何多余的内容,比如说明或注释。

#include <bits/stdc++.h>
using namespace std;
char s[]="abcdefghijklmnopq";
long long fc[18];
int flag[105];
int f(int b){
	int sum=0;
	for(int i='a';i<b;i++)
		if(flag[i]==0)sum++;
	flag[b]=1;
	return sum;
}
int main()
{
	char p[]="bckfqlajhemgiodnp";
	fc[1]=1;
	for(long long i=2;i<18;i++)  //求阶层
		fc[i]=fc[i-1]*i;
	int len=strlen(s);
	long long sum=0;
	for(int i=0;i<len-1;i++){   //求每一位对应的值
		sum+=fc[len-1-i]*(f(p[i]));
		
	
	}
	cout<<sum<<endl;
	return 0;
} 

😜还款计算

银行贷款的等额本息还款方法是:
每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。

比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。
则银行会在每个月进行结算:
结算方法是:计算本金在本月产生的利息: 本金 x (年利率/12)
则本月本金结余为:本金 + 利息 - 每月固定还款额
计算结果会四舍五入到“分”。

经计算,此种情况下,固定还款额应为:438.71

这样,第一月结算时的本金余额是:
9602.96
第二个月结算:
9204.26
第三个月结算:
8803.9

最后一个月如果仍按固定额还款,则最后仍有0.11元的本金余额,
但如果调整固定还款额为438.72, 则最后一个月会多还了银行0.14元。
银行会选择最后本金结算绝对值最小的情况来设定 每月的固定还款额度。
如果有两种情况最后本金绝对值相同,则选择还款较少的那个方案。

本题的任务是已知年化利率,还款期数,求每月的固定还款额度。

假设小明贷款为1万元,即:初始本金=1万元。
年化利率的单位是百分之多少。
期数的单位为多少个月。

输入为2行,
第一行为一个小数r,表示年率是百分之几。(0<r<30)
第二行为一个整数n,表示还款期限。 (6<=n<=120)

要求输出为一个整数,表示每月还款额(单位是:分)

例如:
输入:
4.01
24

程序应该输出:
43429

再比如:
输入:
6.85
36

程序应该输出:
30809

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
java选手注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
java选手注意:主类的名字必须是:Main,否则按无效代码处理。

c/c++选手注意: main函数需要返回0
c/c++选手注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
c/c++选手注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交程序时,注意选择所期望的语言类型和编译器类型。

#include <bits/stdc++.h>
using namespace std;
double r;
int n;
double sol(double x){
	int a=(x+0.005)*100;
	return a/100.0;
}
int main()
{
	cin>>r>>n;
	double money=10000.0/n;     //从最小开始枚举
	money=sol(money);           //精确到分 四舍五入
	double ans,minn=10000000;     //ans 答案  minn保存最近答案的数
	for(;1;money+=0.01){        //每次递增0.01
		double total=10000;     //初始化金钱
		for(int i=0;i<n;i++){     //算n个月过后还剩多少钱
			double lx=total*(0.01*r/12);
			total+=-money+lx;
			total=sol(total);
		}
		if(total<0){   //小于就退出
			if(fabs(total)<minn)
				ans=money;
			break;
		}
		ans=money;
	}
	cout<<(int)(ans*100)<<endl;
	return 0;
}

😜滑动解锁

滑动解锁是智能手机一项常用的功能。你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点。这些划过的点所组成的有向折线,如果与预设的折线在图案、方向上都一致,那么手机将解锁。

所谓两个点“相邻”:当且仅当以这两个点为端点的线段上不存在尚未经过的点。

此外,许多手机都约定:这条折线还需要至少经过4个点。

为了描述方便,我们给这9个点从上到下、从左到右依次编号1-9。即如下排列:

1 2 3
4 5 6
7 8 9

那么1->2->3是非法的,因为长度不足。
1->3->2->4也是非法的,因为1->3穿过了尚未经过的点2。
2->4->1->3->6是合法的,因为1->3时点2已经被划过了。

某大神已经算出:一共有389112种不同的解锁方案。没有任何线索时,要想暴力解锁确实很难。
不过小Hi很好奇,他希望知道,当已经瞥视到一部分折线的情况下,有多少种不同的方案。
遗憾的是,小Hi看到的部分折线既不一定是连续的,也不知道方向。

例如看到1-2-3和4-5-6,
那么1->2->3->4->5->6,1->2->3->6->5->4, 3->2->1->6->5->4->8->9等都是可能的方案。

你的任务是编写程序,根据已经瞥到的零碎线段,求可能解锁方案的数目。

输入:
每个测试数据第一行是一个整数N(0 <= N <= 8),代表小Hi看到的折线段数目。
以下N行每行包含两个整数 X 和 Y (1 <= X, Y <= 9),代表小Hi看到点X和点Y是直接相连的。

输出:
对于每组数据输出合法的解锁方案数目。

例如:
输入:
8
1 2 2 3
3 4 4 5
5 6 6 7
7 8 8 9

程序应该输出:
2

再例如:
输入:
4
2 4
2 5
8 5
8 6

程序应该输出:
258

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

#include <bits/stdc++.h>
using namespace std;
int fx[16][2]={{-1,0},{1,0},{0,-1},{0,1},
				{-1,-1},{-1,1},{1,-1},{1,1},
				{-1,-2},{-1,2},{1,-2},{1,2},
				{-2,-1},{-2,1},{2,-1},{2,1}};  //16个方向 
int fx2[8][4]={          //8个方向 要往上上 下下 左左 右右走 (保存上 然后走上上的时候好判断) 
	{-1,0,-2,0},{1,0,2,0},{0,-1,0,-2},{0,1,0,2},
	{-1,-1,-2,-2},{-1,1,-2,2},{1,-1,2,-2},{1,1,2,2}};
int n;
vector<int> vec[10];     //每个点的联通
int flag[10][10];       //标记走过的点
int sum=0;              //总数
class Pion{              //保存每个点的坐标
	public :
		int x,y;
};
Pion p[10];          //有9个点
int pd(int x,int y){             //判断符合条件
	if(x>0 && x<=3 && y>0 && y<=3 && flag[x][y]==0)
		return 1;
	return 0;
}
int pd2(int x,int y){           
	if(x>0 && x<=3 && y>0 && y<=3 && flag[x][y]==1)
		return 1;
	return 0;
}
void dfs(int k,int u,int s,int last){ //u表示 前一个属于连通点 s表示用了多少个连通点 last上一个点的标号
	if(s==n)        //符合条件
		sum++;
	if(u==0 && vec[k].size()>1) return ;
	if(vec[k].size()>u){         // 该点是连通点只有一个方向
		for(int i=0;i<vec[k].size();i++)
			if(vec[k][i]!=last){
				int kk=vec[k][i];
				flag[p[kk].x][p[kk].y]=1;
				dfs(kk,1,s+1,k);
				flag[p[kk].x][p[kk].y]=0;
			}
		
	}
	else{  //枚举每个方向  16+8个方向
		for(int i=0;i<16;i++){  /
			int x=p[k].x+fx[i][0],y=p[k].y+fx[i][1];
			if(pd(x,y)){
				flag[x][y]=1;
				dfs(3*(x-1)+y,0,s,k);
				flag[x][y]=0;
			}
		}
		for(int i=0;i<8;i++){
			int x=p[k].x+fx2[i][0],y=p[k].y+fx2[i][1];
			int x2=p[k].x+fx2[i][2],y2=p[k].y+fx2[i][3];
			if(pd2(x,y) && pd(x2,y2)){
				flag[x2][y2]=1;
				dfs(3*(x2-1)+y2,0,s,k);
				flag[x2][y2]=0;
			}
		}
	}
}
int main()
{
	cin>>n;
	int a,b;
	for(int i=0;i<n;i++){    //保存联通点
		cin>>a>>b;
		vec[a].push_back(b);
		vec[b].push_back(a);
	}
	for(int i=1,k=1;i<=3;i++)
		for(int j=1;j<=3;j++,k++)   //保存点的坐标
			p[k].x=i,p[k].y=j;
	for(int i=1;i<=3;i++)
		for(int j=1;j<=3;j++){    //每个点入口枚举
			int k=3*(i-1)+j;      //坐标判断点
			flag[p[k].x][p[k].y]=1;
			dfs(k,0,0,0);           
			flag[p[k].x][p[k].y]=0;
		}
			
	cout<<sum<<endl;
	return 0;
}

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

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

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

相关文章

探索Gradio的CheckboxGroup模块:交互式多选框组件

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

详解金融机构敏捷营销落地:体系架构、关键技术和实施方法

本文根据 2023 年金融营销科技价值发现论坛中&#xff0c;神策数据金融首席架构师王仕的主题演讲整理所得&#xff0c;聚焦营销 5.0 理念下的敏捷营销&#xff0c;详细讲解金融机构落地时涉及到的体系架构、关键技术及实施方法。 根据国家发改委官网披露的数据&#xff0c;2022…

macOS编译AirMap开源全景图源码image-processing

1.克隆源码 git clone --recursive https://github.com/airmap/image-processing.git 2. 使用CLion打开CMakeLists.txt并做为工程打开 2.默认配置名为Default,可修改,下面的所有配置项都可改 3.点击OK后会自动生成

青翼自研--4通道DAC播放子卡产品数据手册

FMC131是一款4通道3GSPS采样率或者2通道6GSPS采样率16位DA播放FMC子卡模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.4规范&#xff0c;可以作为一个理想的IO模块耦合至FPGA前端&#xff0c;16通道的JESD204B接口通过FMC连接器连接至FPGA的高速串行端口GTH。插值模式…

突破性5G NTN技术,美格智能携手高通发布卫星物联网连接方案

通信技术的快速发展&#xff0c;使得万物互联成为现实&#xff0c;物联网深刻影响我们的生活方式。目前&#xff0c;全球物联网连接主要由WiFi、蓝牙和蜂窝网络等几类技术支撑。数据显示&#xff0c;蜂窝基站的陆地覆盖率约为20%&#xff0c;而海洋覆盖率则不到5%。 这意味着陆…

十大编程算法

算法一&#xff1a;快速排序算法 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下&#xff0c;排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较&#xff0c;但这种状况并不常见。事实上&#xff0c;快速排序通常明显比其他Ο(n log n) 算法更快&a…

uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)

语音播报的实现的方法有很多种&#xff0c;我这里介绍集中不引用百度、阿里或者迅飞的API的实现方式。 一、采用new SpeechSynthesisUtterance的方式 废话不多说直接上代码 data() {return {utterThis:null,} },//方法使用this.utterThis new SpeechSynthesisUtterance(); …

地下水管三维可视化综合管控平台提升政府服务质量

随着当前互联网技术数据的快速发展和增长&#xff0c;总数越来越大&#xff0c;结构越来越复杂。如果你想更清楚、更快地理解和理解数据&#xff0c;传统的二维平面图数据图性能不能满足需求。 什么是三维可视化? 三维可视化是一种利用计算机技术&#xff0c;再现三维世界中的…

命令模式(Command)

别名 动作&#xff08;Action&#xff09;事务&#xff08;Transaction&#xff09; 定义 命令是一种行为设计模式&#xff0c;它可将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中&#xff0c…

(1)深度学习学习笔记-数据操作和处理

文章目录 前言一、张量操作二、csv文件数据操作数据预处理(读入csv文件作为pytorch能处理的) 来源 前言 张量的一些处理和操作 csv文件数据操作 一、张量操作 [&#xff1a;&#xff0c;1]表示全部行 第二列 [&#xff1a;]是全取 [1:3,1&#xff1a;]&#xff1a;1:3表示1~3的…

Node.js搭建Https服务

要搭建一个接收HTTPS请求的Node.js服务器,可以按以下步骤操作: 1. 初始化项目和安装依赖: bashnpm init -y npm install expresslatest npm install httpslatest 2. 生成证书文件: 这里按照自己的需求 去买ssl证书 或者获取免费证书 直接百度 阿里云获取免费证书等关键词即可…

Prefix-Tuning 阅读笔记

《Prefix-Tuning: Optimizing Continuous Prompts for Generation》 核心思想&#xff1a; 微调的时候&#xff0c;把预训练好的大transformer固定住不训练&#xff0c;在大transformer前面拼接几个token的参数&#xff0c;只训练前面这几个token的参数。 为什么有效 因为虽…

金融科技领先者Broadridge选择CloudBees CI来加速软件交付

Broadridge公司是全球金融科技领先者&#xff0c;通过丰富客户参与度、控制风险、优化效率和创造收入增长的解决方案为客户推动业务转型。 借助CloudBees CI&#xff0c;Broadridge为所有使用Jenkins的开发团队提供了集中管理和自助服务的体验。Broadridge能够不断为客户提供新…

vue 中node-sass和sass版本问题解决

先开始使用 “node-sass”: “^7.0.1” “sass-loader”: “^10.0.5” 然后使用npm install报错 后面百度&#xff0c;搜到了是因为 node-sass和sass-loader版本不对应造成。 然后修改版本&#xff0c;增加sass引用 “node-sass”: “^7.0.1” “sass-loader”: “^7.3.1”, “…

Mysql实现按月份查询挂号统计数据(聚合函数的使用)

最近公司要实现一个通过年月来查询每个月的挂号统计&#xff08;当日挂号&#xff0c;预约挂号&#xff09;&#xff0c;因为医院每个月都要来问我们这边一次&#xff0c;每次都去数据库查询太麻烦了&#xff0c;所以就需要开发一个查询挂号统计的接口。 前面用了很多种方法,要…

计算机中的逻辑运算(与、或、非、异或、同或、与非、或非)

计算机中的逻辑运算又被称作为“布尔运算”&#xff0c;分别为&#xff1a;与、或&#xff0c;非&#xff0c;异或。此外在门电路中还有&#xff1a;同或、与非、或非。共七种。 这七种逻辑运算中&#xff0c;只有 逻辑非运算 是一元逻辑运算&#xff08;一个运算操作数&#…

微信公众号接收事件推送XML数据包解析成实体对象

1.从request获取推送xml包 String callBackXml testNoticeService.formatNoticeParams(request); public static String formatNoticeParams(HttpServletRequest request){try(ByteArrayOutputStream output new ByteArrayOutputStream();InputStream input request.getIn…

微服务 springcloud 11 sleuth 链路跟踪,sleuth + zipkin 链路分析

随着系统规模越来越大&#xff0c;微服务之间调用关系变得错综复杂&#xff0c;一条调用链路中可能调用多个微服务&#xff0c;任何一个微服务不可用都可能造整个调用过程失败 spring cloud sleuth 可以跟踪调用链路&#xff0c;分析链路中每个节点的执行情况 01.微服务中添加 …

如何使用UpdraftPlus迁移备份网站到新网站?

这个问题是关于将您的站点克隆或迁移到新的网站URL的问题。如果您想克隆一个站点进行测试&#xff0c;或者在新版本上线之前移动到新主机并进行测试&#xff0c;以及许多其他类似情况&#xff0c;迁移尤其有用。 在下面的示例中&#xff0c;我们迁移到一个完全新的 WordPress …

搭建Hadoop高可用框架分布式集群

搭建Hadoop高可用框架分布式集群 一.基础配置 1.创建虚拟机&#xff0c;修改虚拟机的主机名 2.修改网络配置 master:192.168.6.200 slave1:192.168.6.201 slave2:192.168.6.202 3.互ping测试 4.sudo授权 5.安装vim编辑器 6.配置网络映射 master配置映射 master向slave1传递映…