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

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

👉关于作者

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

芝麻粒儿-空名先生

👉实践过程

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

😜猜算式

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

273
x   15
------1365273
------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.01double 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.hqwc.cn/news/9200.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch总结

目录 1、正排索引和倒排索引 2、什么是Elasticsearch 3、es核心概念 索引&#xff1a; 文档&#xff1a; 域&#xff1a; 4、安装es和可视化工具Kibana 5、原生操作es 索引操作 新增索引 删除索引 文档操作 新增文档 修改文档 删除文档 查询文档 查询所有文档 分词器 默认…

Win2008下使用IIS+URL重写+Server Farms在同一台服务器实现混合 多域名网站与多个负载平衡集群网站 共存,配置及域名绑定笔记

因公司要在现有云服务器增加负载平衡集群网站&#xff0c;但要保证现有在用网站不动&#xff0c;操作系统为Win2008。 以前没有配置过IIS的负载平衡&#xff0c;只能百度一下&#xff0c;实现也简单&#xff1a;只要安装URL重写Server Farms就能实现负载平衡集群网站。于是根据…

MongoDB存储引擎

1、前言 存储引擎是数据库的组成部分&#xff0c;负责管理数据存储。 MongoDB支持的以下存储引擎&#xff1a; 存储引擎 描述 WiredTiger存储引擎 从MongoDB 3.2开始默认的存储引擎&#xff0c;新的版本MongoDB推荐使用WiredTiger存储引擎。 MMAPv1存储引擎 MMAPv1是Mon…

Go语言MinGW的安装

Go语言MinGW的安装 相比在 Linux 平台上安装 GCC 编译环境&#xff0c;在 Windows 平台上安装 MinGW 是比较简单的&#xff0c;只需经历以下几个过 程。 1、MINGW32位安装 1、打开 [MinGW 官网] https://osdn.net/projects/mingw/&#xff0c;下载 MinGW 安装包。 点击即可…

Linux 信号

文章目录 1. 信号1.1 前言1.2 信号的位置1.3 接口1.3.1 sigset_t1.3.2 信号集操作接口1.3.3 signal1.3.4 sigprocmask1.3.5 sigpending 2. 信号的处理2.1 内核态和用户态2.2 信号的监测和处理 1. 信号 1.1 前言 在 Linux 中&#xff0c;信号是一种用于进程之间的通信机制&…

MapstructPlus的快速集成

https://www.mapstruct.plus/https://www.mapstruct.plus/ # 博主技术栈如下 springboot:2.4.5 lombok:1.8.20 mapstruct-plus:1.3.4 knife4j:4.0.0目录 一、添加依赖&#xff08;谨防依赖冲突&#xff09; 二、如果依赖下不下来&#xff0c;要在maven的setting文件中加入腾讯…

Vue面试题整理

vue修饰符&适用场景 vue修饰符大致分为5类&#xff1a;表单修饰符&#xff0c;事件修饰符&#xff0c;鼠标修饰符&#xff0c;键盘修饰符&#xff0c;v-bind修饰符 路由守卫 全局路由守卫&#xff1a;beforeEach&#xff08;全局前置守卫&#xff09;&#xff0c;afterEa…

wsl子系统Ubuntu18.04,cuDNN安装

如果觉得本篇文章对您的学习起到帮助作用&#xff0c;请 点赞 关注 评论 &#xff0c;留下您的足迹&#x1f4aa;&#x1f4aa;&#x1f4aa; 本文主要wls子系统Ubuntu18.04安装cuDNN&#xff0c;安装cudnn坑巨多&#xff0c;因此记录以备日后查看&#xff0c;同时&#xff0…

PC市场寒冬,大众还需要PC吗?

PC市场寒冬&#xff0c;大众还需要PC吗&#xff1f; PC&#xff08;个人电脑&#xff09;市场从2016年智能手机兴起之时便进入下滑态势&#xff0c;到2020年疫情发生后&#xff0c;居家办公、在线教育等需求曾给PC市场带来连续六个季度的增长。⁴ 好景不长&#xff0c;进入202…

A Survey on Multimodal Large Language Models

本文是LLM系列的文章之一&#xff0c;主要是讲解多模态的LLM。针对《A Survey on Multimodal Large Language Models》的翻译。 多模态大语言模型的综述 摘要1 引言2 概述3 方法3.1 多模态指令调整3.1.1 引言3.1.2 前言3.1.3 模态对齐3.1.4 数据3.1.5 模态桥接3.1.6 评估 3.2 …

Android Studio实现内容丰富的安卓美食管理发布平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号079 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查…

【网络进阶】Posix API与网络协议栈(三)

文章目录 1. 网络攻击和POSIX API与网络协议栈的关系1.1 网络攻击的基本概念和它们对协议栈的影响1.2 分布式拒绝服务&#xff08;DDoS&#xff09;攻击和网络协议栈1.3 地址解析协议&#xff08;ARP&#xff09;欺骗和POSIX API 2. 网络协议栈的理解和划分2.1 OSI七层模型2.2 …