考研复试机试 | C++
目录
- 1.盛水最多的容器<11>
- 题目
- 代码:
- 2.整数转罗马数字
- 题目:
- 代码:
- 3. 清华大学机试题 abc
- 题目
- 题解
- 4.清华大学机试题 反序数
- 题目描述
- 代码
- 对称平方数
- 题目
- 代码:
- 5. 杭电上机题 叠筐
- 题目:
- 代码
pass:关于清华大学上机题,是王道复试班说的,我个人也认为清华大学上机题不会这么简单,应该是早年真题
1.盛水最多的容器<11>
题目
https://leetcode.cn/problems/container-with-most-water/
代码:
int maxArea(vector<int>& height) {// 双指针法 l为左指针,r为右指针int l = 0, r = height.size() - 1;int ans = 0;while (l<r){// 面积的高是由最小的边围成的,长是 r-lint area = min(height[l], height[r]) * (r - l);// 选择最大的ans = max(ans, area);// 小的数值指针向中间移动if (height[l] <= height[r]) l++;else r--;}return ans;}
2.整数转罗马数字
题目:
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
给你一个整数,将其转为罗马数字。
示例 1:
输入: num = 3
输出: “III”
示例 2:
输入: num = 4
输出: “IV”
示例 3:
输入: num = 9
输出: “IX”
示例 4:
输入: num = 58
输出: “LVIII”
解释: L = 50, V = 5, III = 3.
示例 5:
输入: num = 1994
输出: “MCMXCIV”
解释: M = 1000, CM = 900, XC = 90, IV = 4.
代码:
const pair<int, string> valueSymbols[] = {{1000, "M"},{900, "CM"},{500, "D"},{400, "CD"},{100, "C"},{90, "XC"},{50, "L"},{40, "XL"},{10, "X"},{9, "IX"},{5, "V"},{4, "IV"},{1, "I"},
};string intToRoman(int num) {string roman;// 这里需要注意设置一下,否则会报错// 项目 --> 项目属性 --> C++语言标准 --> 选择C++17for (const auto& [value, symbol] : valueSymbols) {// 当num大于value时while (num >= value) {num -= value;roman += symbol;}// num 为1时if (num == 0) {break;}}return roman;
}
3. 清华大学机试题 abc
题目
设a,b,c均试0-9之间的数字,abc,bcc是两个三位数,且有abc+bcc=532,求满足条件的所有a,b,c的值。
输入:
题目没有任何输入
输出:
请输出所有满足题目条件的a,b,c的值。
a,b,c之间用空格隔开
每个输出占一行
提交网址
http://t.cn/E9WMRTE
题解
#include <iostream>
using namespace std;int main() {int a, b,c;for(a=0;a<=9;a++){for(b=0;b<=9;b++){for(c=0;c<=9;c++){// abc+bcc = 532if (100*a+10*b+c + 100*b+10*c+c == 532)printf("%d %d %d\n",a,b,c);}}}
}
4.清华大学机试题 反序数
题目描述
设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值
输入描述:
程序无任何输入数据。
输出描述:
输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。
代码
#include <iostream>
using namespace std;int Reverse(int n){// 翻转后的数int reverse = 0;// 每次运算产生的余数int remain;while(true){remain = n % 10; // 低位数reverse = reverse*10 + remain;n = n / 10;if(n==0) break;}return reverse;
}int main(){int a,b,c,d;// 一个四位数,最高位一定不为0,所以a从1开始for (a = 1; a<=9; a++) {for (b = 0; b<=9; b++){for (c = 0; c<=9; c++){for (d = 0; d<=9; d++){int n = 1000*a + 100*b + 10*c + d;if(n*9==Reverse(n)){printf("%d\n",n);}}}}}
}
再次利用上述函数,解一道复试题—
对称平方数
题目
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为22=4,1111=121。
代码:
#include <cstdio>
#include <iostream>
using namespace std;int Reverse(int n) {// 翻转后的数int reverse = 0;// 每次运算产生的余数int remain;while (true) {remain = n % 10; // 低位数reverse = reverse * 10 + remain;n = n / 10;if (n == 0) break;}return reverse;
}int main() {int a, b, c, d;// 一个四位数,最高位一定不为0,所以a从1开始for (int i = 0; i <= 256; i++) {if (i * i == Reverse(i * i)) {printf("%d\n",i);}}
}
5. 杭电上机题 叠筐
题目:
把一个个大小差一圈的筐叠山区古,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
代码
#include <cstdio>using namespace std;int main() {int n; // 外筐的边长char inner, outer; // 内外两种花色bool flag = true; // flag用来区分输入了几个这样的筐,如果是多个筐,筐中间加\nwhile (scanf("%d %c %c", &n, &inner, &outer)) {// 如果有两个或者两个以上的筐,筐与筐中间加\nif (flag == true) {flag = false;}else {printf("\n");}// 题目中告知 最外层筐边长小于80char pattern[80][80]={0};int length;//每次循环外筐的长度int x, y; // 表示坐标char curChar = inner; // 表示要填充的图案// 起始时x,y表示整个图案的中点坐标for (length = 1, x = n / 2, y = n / 2; length <= n; length = length + 2, x--, y--) {//填上一行for (int i = x, j = y; i < x + length; i++) {pattern[i][j] = curChar;}//填左一列for (int i = x, j = y; j < y + length; j++) {pattern[i][j] = curChar;}//填下一行for (int i = x, j = y + length - 1; i < x + length; i++) {pattern[i][j] = curChar;}//填右一列for (int i = x + length - 1, j = y; j < y + length; j++) {pattern[i][j] = curChar;}//更换花色if (curChar == inner) {curChar = outer;}else {curChar = inner;}}// 若n=1只填一个位置,不需要抹掉四个角if (n != 1) {pattern[0][0] = ' ';pattern[0][n-1] = ' ';pattern[n-1][0] = ' ';pattern[n-1][n-1] = ' ';}for (int i = 0; i < n; i++) {printf("%s\n", pattern[i]);}}
}
DEV C++ 安装详解
https://blog.csdn.net/Andy__cheng/article/details/126889090
相关文章:
考研复试机试 | C++
目录1.盛水最多的容器<11>题目代码:2.整数转罗马数字题目:代码:3. 清华大学机试题 abc题目题解4.清华大学机试题 反序数题目描述代码对称平方数题目代码:5. 杭电上机题 叠筐题目:代码pass:关于清华大…...
第四章.误差反向传播法—误差反向传播法实现手写数字识别神经网络
第四章.误差反向传播法 4.3 误差反向传播法实现手写数字识别神经网络 通过像组装乐高积木一样组装第四章中实现的层,来构建神经网络。 1.神经网络学习全貌图 1).前提: 神经网络存在合适的权重和偏置,调整权重和偏置以便拟合训练数据的过程称…...
IB学习者的培养目标有哪些?
IB课程强调要培养年轻人的探究精神,在富有渊博知识的同时,更要勤于思考,敢于思考,尊重和理解跨文化的差异,坚持原则维护公平,让这个世界充满爱与和平,让这个世界变得更加美好。上一次我们为大家…...
C++类基础(十三)
类的继承 ● 通过类的继承(派生)来引入“是一个”的关系( 17.2 — Basic inheritance in C) – 通常采用 public 继承( struct V.S. class ) – 注意:继承部分不是类的声明 – 使用基类的指针…...
03 OpenCV图像运算
文章目录1 普通加法1 加号相加2 add函数2 加权相加3 按位运算1 按位与运算2 按位或运算、非运算4 掩膜1 普通加法 1 加号相加 在 OpenCV 中,图像加法可以使用加号运算符()来实现。例如,如果要将两幅图像相加,可以使用…...
【C语言学习笔记】:动态库
一、动态库 通过之前静态库那篇文章的介绍。发现静态库更容易使用和理解,也达到了代码复用的目的,那为什么还需要动态库呢? 1、为什么还需要动态库? 为什么需要动态库,其实也是静态库的特点导致。 ▶ 空间浪费是静…...
Zookeeper
zookeeper是一个分布式协调服务。所谓分布式协调主要是来解决分布式系统中多个进程之间的同步限制,防止出现脏读,例如我们常说的分布式锁。 zookeeper中的数据是存储在内存当中的,因此它的效率十分高效。它内部的存储方式十分类似于文件存储…...
wav转mp3,wav转换成mp3教程
很多使用音频文件的小伙伴,总会接触到不同类型的音频格式,根据需求不同需要做相关的处理。比如有人接触到了wav格式的音频,这是windows系统研发的一种标准数字音频文件,是一种占用磁盘体积超级大的音频格式,通常用于录…...
springboot项目配置文件加密
1背景: springboot项目中要求不能采用明文密码,故采用配置文件加密. 目前采用有密码的有redis nacos rabbitmq mysql 这些配置文件 2技术 2.1 redis nacos rabbitmq 配置文件加密 采用加密方式是jasypt 加密 2.1.1 加密步骤 2.1.2 引入maven依赖 …...
公司招聘:33岁以上的和两年一跳的不要,开出工资我还以为看错了...
导读:对于公司来说,肯定是希望花最少的钱招到最优秀的员工,但事实上这个想法是不太现实的,虽然如今互联网不太好找工作,但要员工降薪去入职,相信还是有很大难度的,很多人宁可在家休息࿰…...
【置顶】:文章合集系列
【置顶】:文章合集系列 必看 文章中的所有内容仅供做个人学习使用,所有环境都在本地搭建并验证,任何人使用文中方法进行未经授权的渗透行为都与文章与我本人无关,请各位大佬不要进行未经授权的渗透行为…… 前言 之前更新过一段…...
Go的web开发Gin框架1(八)——Gin
一、重点内容: 知识要点有哪些? 1、了解Gin框架 2、导入使用Gin框架 3、尝试配合GORM开发 4、整合html,css,js 二、详细知识点介绍: 1、Gin框架介绍 Gin是一个golang的微框架,封装比较优雅&…...
吴思进——复杂美创始人首席执行官
杭州复杂美科技有限公司创始人兼CEO, 本科毕业于浙江大学机械专业,辅修过多门管理课程;1997年获经济学硕士学位,有关对冲基金的毕业论文被评为优秀;2008年创办杭州复杂美科技有限公司。 吴思进 中国电子学会区块链委员会专家&…...
apk简单介绍(组成以及打包安装流程)
apk简单介绍APK 的组成apk安装流程app的启动过程apk打包流程AIDLAIDL介绍为什么要设计这门语言它有哪些语法?默认支持的数据类型包括什么是apk打包流程了解打包流程能做什么操作APK 的组成 APK 其实是一个 zip 类型的压缩包,而一个典型的 APK 通常都会包…...
ffmpeg学习笔记之SDL视频播放器
看了雷神的 100行代码实现最简单的基于FFMPEGSDL的视频播放器(SDL1.x) 后手痒难耐,决定将里面的代码重新建一个 首先建立一个空项目,新建一个Mysimplest.cpp的文件。在里面写代码 #include <stdio.h>extern "C" …...
【Git】合并多条 commit 注释信息
文章目录1、查看 commit 记录2、合并 commit 注释1、查看 commit 记录 # 3 指的是查看最近 3 次的 commit 记录,如果要查看多次的可以修改数字 # -3 不加,则表示查看所有 commit 记录,一般还是用数字去指定 git log -32、合并 commit 注释 …...
【gcc/g++】程序的翻译(.c -->.exe)
环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹前言我们在写完代码运行时会发现生成了一个.exe的可执行程序,那么该程序是如何形成的呢?本次章节将在linux下用编译器gcc进行一…...
电话号码的字母组合-力扣17-java
一、题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits "23"输出…...
Archery-SQL审核查询平台
Archery-SQL审核查询平台 文章目录Archery-SQL审核查询平台一、功能列表介绍1.1、SQL审核MySQL实例非MySQL实例审核执行分离SQL工单自动审批、高危语句驳回快速上线其他实例定时执行1.2、SQL查询多类型数据库支持授权管理页面体验1.3、SQL优化慢日志管理SQL语句优化1.4、实例管…...
MySQL8.0安装教程
文章目录1.官网下载MySQL2.下载完记住解压的地址(一会用到)3.进入刚刚解压的文件夹下,创建data和my.ini在根目录下创建一个txt文件,名字叫my,文件后缀为ini,之后复制下面这个代码放在my.ini文件下ÿ…...
一文详解工业知识模型互联平台MoHub
1月8日,MWORKS 2023产品发布会落下帷幕。会上,同元软控隆重推出了云原生的工业知识模型互联平台MoHub,引起广泛关注。本文将从服务定位、架构方案、核心服务、持续运营等方面对MoHub平台进行全面介绍。1 MoHub平台的服务定位装备数字化的必要…...
MySQL入门篇-MySQL表连接小结
备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊常见的表连接的方法 测试数据: create table t1(id int); create table t2(id int);insert into t1 values(1); insert into t1 values(2);insert into t2 values(2); insert into t2 values(3); commit;内连接 --求交集 …...
使用纹理(Textures)
当物体表面并非是纯色的时候,比如带波点,斑纹或者表面有刮痕或被裂纹等,这些效果该如何实现呢? 这里我们需要提到一个概念是贴图(Maps)。Maps是覆盖在游戏物体上的2D图片,用来设置表面的颜色、s…...
android 11 添加开机铃声
需求:在11.0在定制化系统中,默认是没有开机铃声的,有客户提出需要要添加开机铃声,所以为了完成需求,就来实现这一个功能关于开机铃声 都是在bootanimation_main.cpp 这里面负责管理。添加添加开机铃声的核心类framewor…...
操作系统考试突击复习笔记
0 基础概念补充特权命令:有特殊权限的指令,比如清内存、置时钟、分配系统资源、修改虚拟内存的段表和页表,修改用户的访问权限。系统调用:操作系统为应用程序提供的使用接口,可以理解为一种可供应用程序调用的特殊函数…...
java8函数式接口分布式事务简单实现方式
import java.util.List; import java.util.function.Function;/*** @ClassName TransactionFunctionDTO* @Description* @Author SD.LIU* @Date 2023/2/13 22:41* @Version 1.0**/ public class TransactionFunctionDTO...
最后一个单词的长度-力扣58-java
一、题目描述给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s "Hello World"输出&#x…...
Java开发学习(四十九)----MyBatisPlus更新语句之乐观锁
1、概念 在讲解乐观锁之前,我们还是先来分析下问题: 业务并发现象带来的问题:秒杀 假如有100个商品或者票在出售,为了能保证每个商品或者票只能被一个人购买,如何保证不会出现超买或者重复卖 对于这一类问题,其实有很多的解决方…...
力扣SQL刷题11
目录标题1194. 锦标赛优胜者--做出来了1225. 报告系统状态的连续日期-勉强1159. 市场分析 II1205. 每月交易II1194. 锦标赛优胜者–做出来了 题型:看题 解答:先处理matches表,整出分数列和players表连接 注意点: union all 时…...
Fluent Python 笔记 第 9 章 符合 Python 风格的对象
得益于 Python 数据模型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子类型(duck typing):我们只需按照预定行为实现对象所需的方法即可。 9.1 对象表示形式 实现 __repr__ 和 __str__ 特…...
微信分销网站建设用途/客服网站搭建
平时使用Masonry时,一般会使用mas_updateConstraints方法来更新约束,不过该方法只能更新数值,并不会更新约束的优先级。 implementation xxx (void)setupConstraints { [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { ……...
苏州市住房和城乡建设局官方网站/爱采购seo
原文:http://coolketang.com/staticCoding/5a9925ad9f54542163e2e934.html 1. 下标是访问集合、列表、序列中的元素的快捷方式,结构体、枚举和类都可以定义下标。本节课将为你演示,如何给类设置下标。 2. 首先定义一个指定名称的类。 3. 然后…...
三一重工的网站是哪家做的/网络营销环境
标量数据 标量:数字和字符串。 数字:Perl不存在整形,全部是double类型。整形常量会被自动转换为浮点型。 Perl数字字面量(直接量):-和小数点是非必须的,e代表10的多少次方。例如:-1.2e15,12_999…...
日照比较好的网站建设企业/微信公众号seo
如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) typedef struct node{int ele;struct node * next; }node; bool check( node *head) {node *lowhead;node *fasthead;if(headNULL)return false;while(fas…...
建设银行网站会员/最新网站发布
本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 macOS app开发基础知识学会将窗体分割为三栏支持拖拽实战需求 macOS与iOS开发的最大区别就在于界面size变的巨大了,之前我们在iOS小屏的经验很难迁移到macOS上。本文将带领大家掌握macOS最基础的…...
动态网站和静态页面/广告引流推广平台
来源:镁客网面对已经领跑数十年的海外芯片巨头,国产芯片可以如何追赶?在南京国际博览中心,一年一度的世界半导体大会近日正式落幕。期间,大会平行论坛之一的“IC设计开发者大会”也在8月19日成功举办。该活动由镁客网、…...