news 2026/4/16 11:56:40

2025年华中科技大学计算机考研复试机试真题(解题思路 + AC 代码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年华中科技大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年华中科技大学计算机考研复试机试真题

2025年华中科技大学计算机考研复试上机真题

历年华中科技大学计算机考研复试上机真题

历年华中科技大学计算机考研复试机试真题

更多学校完整题目开源地址:https://gitcode.com/u014339447/pgcode

百度一下pgcode即可查看,输入 “学校名称” 即可筛选该校历年机试真题,包括真题、ac代码、解题思路、视频讲解。

亲和数-华中科技大学

题目描述

一个数的因子是指除自身以外,能整除该数的所有数。例如,6 的因子为 1、2、3 。

若存在两个数X {X}XY {Y}YX {X}X的所有因子之和恰好等于Y {Y}Y,且Y {Y}Y的所有因子之和恰好等于X {X}X,则X {X}XY {Y}Y构成一对亲和数。

给定多组数据,每组数据包含两个数l {l}lr {r}r,需要找出从l {l}lr {r}r之间的,具有亲和数的数字。

输入格式

第一行输入一个整数n {n}n,表示数据的组数。接下来n {n}n行,每行输入两个整数X {X}XY {Y}Y,代表一组数据。

输出格式

对于每组数据,输出从X {X}XY {Y}Y之间的最小亲和数。若不存在,则输出 “No”。每组输出占一行。

数据范围

1 ≤ n ≤ 100 {1 \le n \le 100}1n100,1 ≤ X ≤ Y ≤ 10 5 {1 \le X \le Y \le 10^5}1XY105

输入样例
2 200 300 250 1000
输出样例
220 284
#include<bits/stdc++.h>usingnamespacestd;constintMax=100001;intmain(){vector<int>sum_div(Max,0);for(inti=1;i<Max;i++){for(intj=2*i;j<Max;j+=i){sum_div[j]+=i;}}intn;scanf("%d",&n);while(n--){intl,r;intans=-1;scanf("%d%d",&l,&r);for(intx=l;x<=r;x++){inty=sum_div[x];if(y>=Max)continue;if(sum_div[y]==x&&x!=y){ans=x;break;}}if(ans==-1)printf("No\n");elseprintf("%d\n",ans);}return0;}

字符串处理-华中科技大学

题目描述

对无限输入的每行字符串进行处理。处理要求包括在字符串内数字和字母之间添加下划线,并且输出去重后的字符串,在去重时将字母大小写视为相同字符,仅保留每个字符首次出现的位置。

输入格式

每行输入一个字符串,输入可无限进行。

输出格式

对于每行输入的字符串,输出两行结果。第一行是在数字和字母之间添加下划线后的字符串;第二行是去重后的字符串,字母大小写视为相同字符。

数据范围

输入字符串长度不超过1000 {1000}1000,且只包含数字和字母。

输入样例1
vc60cpp
输出样例1
vc_60_cpp vc60p
输入样例2
vc66CPP
输出样例2
vc_66_CPP vc6P
#include<bits/stdc++.h>usingnamespacestd;charnormal(charc){if(c>='A'&&c<='Z'){c=c+32;}returnc;}intmain(){string s,tmp,result;cin>>s;tmp+=s;for(inti=0;i<s.size()-1;){if((s[i]<='9'&&s[i+1]>'9')||(s[i+1]<='9'&&s[i]>'9')){s.insert(i+1,1,'_');i=i+2;}elsei++;}set<char>r;for(charc:tmp){if(r.find(normal(c))==r.end()){result+=c;r.insert(normal(c));}}cout<<s<<endl;cout<<result;return0;}

等式填充问题-华中科技大学

题目描述

给定数字1 、 2 、 3 、 . . . 、 9 {1、2、3、...、9}123...9,将这9 {9}9个数字不重复地填入以下等式的空格中:

[ ] [ ] / [ ] + [ ] [ ] / [ ] = [ ] [ ] / [ ] {[][]/[]+[][]/[]=[][]/[]}[][]/[]+[][]/[]=[][]/[]

需要满足两个条件:一是数字1 {1}1不能作为分母;二是等式中任一分式的分母与分子除1 {1}1以外不能有其他公共因子。要求输出所有满足该等式的组合情况。

输入格式

本题无输入。

输出格式

每一行输出一个满足条件的等式,等式的格式为[ ] [ ] / [ ] + [ ] [ ] / [ ] = [ ] [ ] / [ ] {[][]/[]+[][]/[]=[][]/[]}[][]/[]+[][]/[]=[][]/[],其中[ ] {[]}[]部分为具体数字。若存在多个满足条件的等式,则按字典序顺序依次输出,每个等式占一行。

数据范围

输入样例
输出样例
#include<iostream>#include<vector>#include<algorithm>#include<string>#include<sstream>usingnamespacestd;// 欧几里得算法求最大公约数(判断最简分数)intgcd(inta,intb){while(b!=0){inttemp=b;b=a%b;a=temp;}returna;}intmain(){vector<string>results;// 存储所有合法等式// 枚举三个分母(d1,d2,d3 ∈ 2-9,互不重复)for(intd1=2;d1<=9;++d1){for(intd2=2;d2<=9;++d2){if(d2==d1)continue;for(intd3=2;d3<=9;++d3){if(d3==d1||d3==d2)continue;// 收集剩余6个数字(1-9排除d1/d2/d3)vector<int>digits;for(intnum=1;num<=9;++num){if(num!=d1&&num!=d2&&num!=d3){digits.push_back(num);}}// 生成剩余数字的所有全排列(确保不重复使用数字)sort(digits.begin(),digits.end());do{// 拆分排列为三个两位数分子(n1/n2/n3)intn1=digits[0]*10+digits[1];intn2=digits[2]*10+digits[3];intn3=digits[4]*10+digits[5];// 约束1:每个分式必须是最简分数(分子分母gcd=1)if(gcd(n1,d1)!=1)continue;if(gcd(n2,d2)!=1)continue;if(gcd(n3,d3)!=1)continue;// 约束2:等式成立(通分避免浮点误差)longlongleft=(longlong)n1*d2*d3+(longlong)n2*d1*d3;longlongright=(longlong)n3*d1*d2;if(left!=right)continue;// 构造合法等式的字符串形式stringstream ss;ss<<n1<<"/"<<d1<<"+"<<n2<<"/"<<d2<<"="<<n3<<"/"<<d3;results.push_back(ss.str());}while(next_permutation(digits.begin(),digits.end()));}}}// 按字典序排序所有合法等式sort(results.begin(),results.end());// 输出结果for(conststring&eq:results){cout<<eq<<endl;}return0;}

切牌、洗牌-华中科技大学

题目描述

2 22-9 99共八张扑克牌,从小到大依次叠放,需要进行3 33轮切牌、洗牌的操作(切牌之后立马洗牌,再进行下一轮)。

切牌的定义如下(其实就是循环左移n nn位):

原序列:2 223 334 445 556 667 778 889 99

2 22

新序列:4 445 556 667 778 889 992 223 33

另外,如果切牌张数不在1 11-7 77之间,则是无效操作,不移动序列

洗牌的定义如下(就是将序列分为两半,然后交错插在一起):

原序列:4 445 556 667 778 889 992 223 33

洗牌

新序列:4 448 885 559 996 662 227 773 33

分别给出三次切牌的张数,问你最后的结果是多少。

输入样例
1 2 3
输出样例
27543698
#include<iostream>usingnamespacestd;intcard[8]={2,3,4,5,6,7,8,9};voidreverse(intl,intr){inttemp;while(l<r){temp=card[l];card[l]=card[r];card[r]=temp;l++;r--;}}voidqie(intn){if(n<1||n>7)return;reverse(0,n-1);reverse(n,7);reverse(0,7);}voidxi(){inttemp=card[1];card[1]=card[4];card[4]=card[2];card[2]=temp;temp=card[3];card[3]=card[5];card[5]=card[6];card[6]=temp;}intmain(){intn;for(inti=0;i<3;i++){scanf("%d",&n);qie(n);xi();}for(inti=0;i<8;i++){printf("%d",card[i]);}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:14:07

springboot-vue大学生社团管理系统_254x2yk1

目录系统概述功能模块技术架构创新点应用价值项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统概述 SpringBoot-Vue大学生社团管理系统是一款基于前后端分离架构的校园社团管理平台&#xff0c;后端采用…

作者头像 李华
网站建设 2026/4/15 20:44:11

【Linux】五种IO模型与非阻塞IO

Linux 五种 IO 模型 非阻塞 IO 的完整梳理 &#xff08;2025-2026 面试/实战最常考版本&#xff09; Linux 下最经典的五种 IO 模型&#xff0c;几乎是所有中高级后端/网络编程面试必问内容。 序号IO 模型名称阻塞阶段进程在内核等待数据时是否阻塞&#xff1f;进程在数据从…

作者头像 李华
网站建设 2026/4/13 13:04:28

方框标定代码

import numpy as np import cv2 import glob# 1. 准备标定板参数 chessboard_size (7, 10) # 内角点数量 square_size 13.0 # 毫米# 2. 生成世界坐标系中的3D点 objp np.zeros((chessboard_size[0]*chessboard_size[1], 3), np.float32) objp[:, :2] np.mgrid[0:chessboa…

作者头像 李华
网站建设 2026/4/16 1:48:25

5G、雷达、航天研发的“心脏”利器:是德N5182B 信号发生器全面解析

156/2558/3328产品概述&#xff1a;在无线通信、雷达系统和航空航天等领域&#xff0c;研发与测试人员每天都在与无形的射频信号打交道。如何生成一个“纯净”且“听话”的信号&#xff0c;来验证设备在真实世界复杂电磁环境中的性能&#xff1f;这离不开一台核心仪器——射频信…

作者头像 李华
网站建设 2026/4/2 3:28:28

专科生必看!8个降AI率工具推荐,高效降AIGC神器

专科生必看&#xff01;8个降AI率工具推荐&#xff0c;高效降AIGC神器 AI降重工具&#xff0c;让论文更自然更高效 在当前的学术写作中&#xff0c;越来越多的学生开始使用AI工具辅助写作&#xff0c;但随之而来的AIGC率过高、AI痕迹明显的问题也成为了困扰。对于专科生而言&am…

作者头像 李华