考研机试
文章平均质量分 80
苦逼程序员233
这个作者很懒,什么都没留下…
展开
-
清华大学考研复试机试:整数拆分
题目描述一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n...原创 2019-03-13 22:07:34 · 248 阅读 · 0 评论 -
清华大学考研复试机试:今年的第几天
题目描述输入年、月、日,计算该天是本年的第几天。输入描述包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输出描述输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。分析水题,注意闰年和每个月的天数即可,可以使用一个全局数组来记录每个月的天数,如果是闰年再特...原创 2019-03-15 21:38:02 · 394 阅读 · 0 评论 -
清华大学考研复试机试:质因数的个数
题目描述求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2x2x2x3x5,共有5个质因数。输入描述可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。输出描述对于每组数据,输出N的质因数的个数。分析这道题最容易想到的一个思路就是,先求出小于N的所有质数,然后再遍历求出的质数,判断是否为N的因数。因为这道题的数据很大...原创 2019-03-11 21:12:29 · 249 阅读 · 0 评论 -
清华大学考研复试机试:完数VS盈数
题目描述一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。输入描述题目没有任何输入。输出描述输出2到60之间所有“完数”和“盈数”,并以如下形式输出:E: e1 e2 e3 …(ei为完数)G: g1 g2 g3 …(gi为盈数)其中两个数之间要有空格,行尾不加空格...原创 2019-03-16 09:30:21 · 180 阅读 · 0 评论 -
清华大学考研复试机试:递推数列
题目描述给定a0,a1,以及an=pa(n-1) + qa(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。输入描述输入包括5个整数:a0、a1、p、q、k。输出描述第k个数a(k)对10000的模。分析水题,递推公式直接给出了,循环计算即可。需要注意在每一步都需要取模,因为当输入很大时,每一步都有可能溢出。AC代码如下:#include<iost...原创 2019-03-16 09:38:34 · 473 阅读 · 0 评论 -
清华大学考研复试机试:最大序列和
题目描述给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。 对于S的所有非空连续子序列T,求最大的序列和。 变量条件:N为正整数,N≤1000000,结果序列和在范围(-263,263-1)以内。输入描述第一行为一个正整数N,第二行为N个整数,表示序列中的数。输出描述输入可能包括多组数据,对于每一组输入数据,仅输出一个数,表示最大序列和。分析...原创 2019-03-16 14:59:40 · 261 阅读 · 0 评论 -
清华大学考研复试机试:最小花费
题目描述在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3。其对应关系如下:距离s票价 0<S<=L1,C1;L1<S<=L2,C2;L2<S<=L3,C3。输入保证0<L1<L2<L3<109,0<C1<C2<C3<109。 每两个站之间的距离不超过L3。 当乘客要移动的原创 2019-03-16 15:39:24 · 440 阅读 · 1 评论 -
清华大学考研复试机试:N的阶乘2
题目描述输入一个正整数N,输出N的阶乘。输入描述正整数N(0<=N<=1000)输出描述输入可能包括多组数据,对于每一组输入数据,输出N的阶乘分析大数运算,肯定爆long long int,不能暴力求解。5000的阶乘位数是16326位,所以开个20000位的数组肯定能够存下结果。一般这种大数运算都是模拟手工运算的过程,这道题比较好的是N是一个int以内的数。所以只需要模...原创 2019-03-16 19:42:33 · 214 阅读 · 0 评论 -
清华大学考研复试机试:剩下的树
题目描述有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可...原创 2019-03-16 20:32:35 · 165 阅读 · 0 评论 -
清华大学考研复试机试:10进制 VS 2进制
题目描述对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数。 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。输入描述一个1000位(即10^999)以内的十进制数。输出描述输入的十进制数的二进制逆序数。分析这道题也是一道大数运算的...原创 2019-03-16 21:46:35 · 330 阅读 · 0 评论 -
清华大学考研复试机试:查找学生信息
题目描述输入N个学生的信息,然后进行查询。输入描述输入的第一行为N,即学生的个数(N<=1000)接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104输出描述输出M行,每行包...原创 2019-03-18 15:20:17 · 381 阅读 · 0 评论 -
清华大学考研复试机试:密码锁
题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串(2=<N<=13),该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1。...原创 2019-03-18 15:44:17 · 367 阅读 · 0 评论 -
清华大学考研复试机试:进制转换2
题目描述将M进制的数X转换为N进制的数输出。输入描述输入的第一行包括两个整数:M和N(2<=M,N<=36)。下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。输出描述输出X的N进制表示的数。示例:输入10 211输出1011注意输入时如有字母,则字母为大写,输出时如有字母,则字母为小写。分析这道题其实和10进制与...原创 2019-03-21 21:39:22 · 320 阅读 · 0 评论 -
清华大学考研复试机试:反序数
题目描述设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值输入描述程序无任何输入数据。输出描述输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。分析水题,可以直接循环遍历所有数。在判断是否为反序数时,可以先通过to_string方法将整数转化为string,然后再判断,这样会简单许多。另外,这道题优化其实也很简单,因为一个4位数乘以9...原创 2019-03-21 21:55:59 · 328 阅读 · 0 评论 -
清华大学考研复试机试:对称平方数
题目描述打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2x2=4,11x11=121。输入描述无任何输入数据输出描述输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。分析水题,直接循环遍历所有数即可。需要注意从0开始遍历,因为0也满足题意。在判断一个数是否对称时,可以先通过to_string将其转化为string,这样判断比较容易。...原创 2019-03-21 22:07:04 · 293 阅读 · 0 评论 -
清华大学考研复试机试:手机键盘
题目描述按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。 现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。 现在给出一串字符...原创 2019-03-11 19:49:14 · 275 阅读 · 0 评论 -
清华大学考研复试机试:反序输出
题目描述输入任意4个字符(如:abcd), 并按反序输出(如:dcba)输入描述题目可能包含多组用例,每组用例占一行,包含4个任意的字符。输出描述对于每组输入,请输出一行反序后的字符串。分析水题,直接用c++泛型函数求解即可。reverse函数,将容器中的元素颠倒顺序,放回原容器中。注意不要拼写错了,c++还有一个常用的函数是reserve,用来预分配内存空间的。AC代码如下:#...原创 2019-03-11 18:53:22 · 175 阅读 · 0 评论 -
清华大学考研复试机试:成绩排序2
题目描述用一维数组存储学号和成绩,然后,按成绩排序输出。输入描述输入第一行包括一个整数N(1<=N<=100),代表学生的个数。接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。输出描述按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。如果学生的成绩相同,则按照学号的大小进行从小到大排序。分析水题,直接用sort排序即可,唯一需要注意的是c...原创 2019-03-14 16:37:10 · 282 阅读 · 0 评论 -
清华大学考研复试机试:球的半径和体积
题目描述输入球的中心点和球上某一点的坐标,计算球的半径和体积输入描述球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1输出描述输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数。为避免精度问题,PI值请使用arccos(-1)。分析水题,只要知道球的体积公式就能做。唯一注意的一点是PI的精度选取,题目中也给出了提示,使用arccos...原创 2019-03-14 17:31:15 · 181 阅读 · 0 评论 -
清华大学考研复试机试:二叉树遍历
题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入描述输入包括1行字符串,长度不超过100。输出描述可能有多组测试数据,对于每组数据,输出将输入字符串建立二叉树后中序遍历的...原创 2019-03-14 19:41:57 · 302 阅读 · 0 评论 -
清华大学考研复试机试:进制转换
题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述每行输出对应的二进制数。分析此题为大数转换问题,通过模拟手工计算过程来实现。清华大学的考研复试机试经常为考察大整数问题,通常使用string来存储大数,然后模拟手工计算过程。这个...原创 2019-03-10 17:02:08 · 635 阅读 · 0 评论 -
清华大学考研复试机试:成绩排序
题目描述:查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。示例:jack 70peter 96Tom 70smith 67从高到低 成绩peter 96jack 70Tom 70smith 67从低到高smith ...原创 2019-03-10 18:35:43 · 430 阅读 · 0 评论 -
清华大学考研复试机试:玛雅人的密码
题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1。...原创 2019-03-14 20:45:09 · 513 阅读 · 0 评论 -
清华大学考研复试机试:求最大最小数
题目描述输入N个(N<=10000)数字,求出这N个数字中的最大值和最小值。每个数字的绝对值不大于1000000。输入描述输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。输出描述输出包括两个整数,为给定N个数中的最大值与最小值。分析水题,不用排序,c++直接提供了求最值的泛型函数。max_element和min_element,不过一定要注意的是这两...原创 2019-03-14 20:58:58 · 269 阅读 · 0 评论 -
清华大学考研复试机试:最小邮票数
题目描述有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入描述有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M<100。然后是一个数N,N〈20,表示有N张邮票。接下来是N个正整数,分别表示这N张邮票的面值,且以升序排列。输出描述对于每组数据,能够凑成总...原创 2019-03-14 21:46:53 · 185 阅读 · 0 评论 -
清华大学考研复试机试:约数的个数
题目描述输入n个整数,依次输出每个数的约数的个数输入描述输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。输出描述可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。示例:输入51 3 4 6 12输出123...原创 2019-03-10 21:15:42 · 179 阅读 · 0 评论 -
清华大学考研复试机试:代理服务器
题目描述使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私。我们知道n个代理服务器的IP地址,现在要用它们去访问m个服务器。这 m 个服务器的 IP 地址和访问顺序也已经给出。系统在同一时刻只能使用一个代理服务器,并要求不能用代理服务器去访问和它 IP地址相同的服务器(不然客户端信息很有可能就会被泄露)。在这样的条件下,找到一种使用代理服务器的方案,使得代理服务器切换的次...原创 2019-03-11 09:36:46 · 552 阅读 · 0 评论 -
清华大学考研复试机试:abc
题目描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入描述题目没有任何输入。输出描述请输出所有满足题目条件的a、b、c的值。a、b、c之间用空格隔开。每个输出占一行。分析水题,直接遍历暴力求解即可,三层for循环。不过也有一些优化的点,可能优化效果对于这道题不是很明显,但是当数据量很大时,这些对于数...原创 2019-03-15 19:24:30 · 371 阅读 · 0 评论 -
清华大学考研复试机试:root(N,k)
题目描述N<k时,root(N,k) = N,否则,root(N,k) = root(N’,k)。N’为N的k进制表示的各位数字之和。输入x,y,k,输出root(x^y,k)的值 (这里^为乘方,不是异或),2=<k<=16,0<x,y<2000000000,有一半的测试点里 x^y 会溢出int的范围(>=2000000000)输入描述每组测试数据包括...原创 2019-03-15 20:35:21 · 368 阅读 · 0 评论 -
清华大学考研复试机试:n的阶乘
题目描述输入一个整数n,输出n的阶乘(每组测试用例可能包含多组数据,请注意处理)输入描述一个整数n(1<=n<=20)输出描述n的阶乘分析因为n不大于20,所以这是一道水题,直接循环相乘即可。后面的博客会讲到当n很大的时候该如何处理。AC代码如下:#include<iostream>using namespace std;int main(void...原创 2019-03-15 20:52:01 · 250 阅读 · 0 评论 -
清华大学考研复试机试:特殊乘法
题目描述写个算法,对2个小于1000000000的输入,求结果。 特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35输入描述两个小于1000000000的数输出描述输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。示例:输入123 45输出54分析水题,直接循环计算即可。不过要注意使用stri...原创 2019-03-15 20:59:27 · 196 阅读 · 0 评论 -
清华大学考研复试机试:函数求值
题目描述给定正整数N,函数F(N)表示小于等于N的自然数中1和2的个数之和,例如:1,2,3,4,5,6,7,8,9,10序列中1和2的个数之和为3,因此 F(10)=3。输入N,求F(N)的值,1=<N<=10^100(10的100次方)若F(N)很大,则求F(N)mod20123的值示例:输入1010输出33分析这道题是一道规律题,难度比较大。大概有两种方法...原创 2019-03-18 20:56:32 · 2450 阅读 · 2 评论