logo资料库

2010年吉林大学计算机学院硕士研究生复试上机考试试题.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
一、三角形的边(20分)
二、平方因子(20分)
三、怪异的洗牌(30分)
四、排列与二进制(30分)
吉林大学计算机学院研究生入学复试上机考试试题 日期:2010/4/1; 时间:9:00-11:30; 注 1:本套题目共 4 题,具体考试方法和评分标准参加考试细则。 注 2:若干题目中给出了一种可能的程序框架,供考生参考。考生也可完全抛开 提示代码自由编写,只要能够实现题目要求即可。 一、三角形的边(20 分) 给定三个已知长度的边,确定是否能够构成一个三角形,这是一个简单的几 何问题。我们都知道,这要求两边之和大于第三边。实际上,并不需要检验所有 三种可能,只需要计算最短的两个边长之和是否大于最大那个就可以了。 这次的问题就是:给出三个正整数,计算最小的数加上次小的数与最大的数 之差。 输入: 每一行包括三个数据 a, b, c,并且都是正整数,均小于 10000。当 a 为 0 时 标志所有输入数据结束。 输出: 对于输入的每一行,在单独一行内输出结果 s。s=min(a,b,c)+mid(a,b,c)− max⁡(a,b,c)。上式中,min 为最小值,mid 为中间值,max 为最大值。 输入样例: 1 2 3 6 5 4 10 20 15 1 1 100 0 0 0 输出样例: 0 3 5 -98 ====提示:一种可能实现的 C 语言的程序主体结构如下:==== #include int main(){ while(1){ scanf(“%d%d%d”, &a, &b, &c); if (a==0) break; /*下面进行处理和输出,代码自行填写*/ } return 0; } 1 / 4
二、平方因子(20 分) 给定一个数 n,判定它是否有一个不为 1 的完全平方数因子。也就是说,是 否存在某个 k,k>1,使得 k*k 能够整除 n。 输入:每行一个整数 n,1
6 1 4 0 0 输出样例 1 6 5 2 3 4 ====提示==== 一种可能实现的 C 语言的程序主体结构如下: #include int card[1000],n; void shift(int x){ /* 移位操作,代码自行编写*/ } void flip (){ /*翻转操作,代码自行编写*/ } int main(){ int i,k,x; while(1){ scanf(“%d%d“, &n, &k); if (n==0) break; /*初始化,代码自行编写*/ for(i=0; i
四、排列与二进制(30 分) 在组合数学中,我们学过排列数。从 n 个不同元素中取出 m(m<=n)个元 素的所有排列的个数,叫做从 n 中取 m 的排列数,记为 p(n, m)。具体计算方法 为 p(n, m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)! (规定 0!=1). 当 n 和 m 不是很小时,这个排列数是比较大的数值,比如 p(10,5)=30240。 如果用二进制表示为 p(10,5)=30240=( 111011000100000)b,也就是说,最后面有 5 个零。我们的问题就是,给定一个排列数,算出其二进制表示的后面有多少个 连续的零。 输入: 每行两个整数,n 和 m,0
分享到:
收藏