山东大学0710上机试题详解

上传人:鲁** 文档编号:455630115 上传时间:2023-04-08 格式:DOC 页数:6 大小:32.51KB
返回 下载 相关 举报
山东大学0710上机试题详解_第1页
第1页 / 共6页
山东大学0710上机试题详解_第2页
第2页 / 共6页
山东大学0710上机试题详解_第3页
第3页 / 共6页
山东大学0710上机试题详解_第4页
第4页 / 共6页
山东大学0710上机试题详解_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《山东大学0710上机试题详解》由会员分享,可在线阅读,更多相关《山东大学0710上机试题详解(6页珍藏版)》请在金锄头文库上搜索。

1、07计算机复试上机题(详细版)-1.鼓上蚤时迁到一个山洞里去盗宝,里面有n件宝贝,价值分别是a1,a2.an,并且满足ai大于a1+a2+.+a(i-1)的和。他身上有一个背包,能装的东西最大价值是K,他只能进洞一次,请问他最多能带出多少?要求:输入K,n,a1,a2.an输出:他能最多带出的宝物价值2.求1,n之间的质数的个数。public static void main(String args) / TODO Auto-generated method stubScanner sc=new Scanner(System.in);int n=sc.nextInt();/输入n的值int c

2、ount=0;/计算质数的个数for(int j=2;j=n;j+)/从2开始到n分别计算其质数int flag=0;/设置一个标志位,当不是质数时为1,是质数时为0for(int i=2;ij;i+)/用j以内的任何数去除jif(j%i=0)/如果可以被除1和它本身的数整除,就将标志位设为1flag=1;if(flag=0)/如果没有找到这样的数,就是质数,将其输出count+; System.out.print(count);/输出质数的个数时间要求3小时,语言及工具不限。机房里的机器都装好了的,基本什么工具都有。老师最后只看结果,不看源码。要求不能上网,但可以偷偷的上。总之还是比较简单的

3、。第一题6分,第二题4分,总分10分2008年计算机学院机试题目1输入两个字符串,输出两字符串的差集#include #include void main()int n=5;int m=4;char str15=abce;char str24=bcd;/gets(str1);/gets(str2);for(int i=0;in;i+)int flag=0;for(int j=0;jm;j+)if(str1i=str2j)flag=1;if(flag=0)printf(%c ,str1i);printf(n);/只能计算对2的差集,可以反过来计算对1的差集2输入数字n,和n个整数,输出该数字串中

4、的最长递减序列#include void main()int a10=1,2,5,8,6,9,10,11,23,25;int n=10;int t=0;for(int i=0;in;i+)for(int j=i;jai)t=aj;aj=ai;ai=t;for(int k=0;k=2)个连续整数相加得到,输出所有可能的连续整数序列,每个序列占一行,数字之间用空格分开,数据从小到大,每列按最小元素递增顺序排列,如果找不到,输出none例:21=1+2+3+4+5+6 21=6+7+8则输出1 2 3 4 5 6 6 7 8public static void main(String args) i

5、nt sum=0;/定义一个相加后的数组int flag=0;/定义一个标志位,如果为0,则代表没有符合的组合;如果为1,则代表有这样的组合Scanner sc = new Scanner(System.in);int n = sc.nextInt();/输入一个整数n/double n=sc.nextDouble();/char c=(char) sc.nextByte();for(int i=1;i=n/2;i+)/依次测试以1n/2开始的序列int j=i;sum=0;while(j=n&sum!=n)/测试每个序列是否符合要求sum=sum+j;j+;if(sum=n)/如果符合要求,

6、则输出此序列flag=1;for(int k=i;kj;k+)System.out.print(k+ ); System.out.print(n);/每输出一个序列换行if(flag=0)/如果没有找到这样的序列,则输入noneSystem.out.println(none);题目2:某国设计了一种导弹防御系统,但有缺陷,导弹来袭时,第一枚炮弹可以达到任意高度,但以后的任意一炮均不能超过前一发炮弹高度。现在仅有一套这样的系统输入:来袭的导弹数目(不超过100枚)输出:1:能够拦截的导弹数目30分public static void main(String args) / TODO Auto-g

7、enerated method stubint a=987,800,700,900,759,500,400,300;int count=1;for(int i=0;i=ai+1)count+;elseai+1=ai; System.out.println(count);2:若要拦截所有导弹,需要几套这样的系统20分public static void main(String args) / TODO Auto-generated method stubint a=987,800,700,900,759,500,400,300;int count=1;for(int i=0;ia.length-

8、1;i+)if(aiai+1)count+;System.out.println(count);input: 987 800 700 900 759 500 400 300 注:来袭导弹的的高度序列output: 可拦截的导弹数:6 需要的系统数: 2 2010年上机【原题描述】一、给定一个十进制整数n1,1亿。1.输出对应的2进制串 2.质因数分解的结果,两个小题结果间用#连接。样例输入:24样例输出:11000#2,2,2,3public static void main(String args) / TODO Auto-generated method stubScanner sc=ne

9、w Scanner(System.in);int n=sc.nextInt();/输入n的值/转换为二进制int stack=new int1000;/定义一个数组来存放二进制位int i=0;int s=n;/初始化商为nwhile(s!=0&i=0;j-)System.out.print(stackj);/倒着输出余数System.out.print(#);/质因数分解int s2=n;/定义商,初始化为nint y=1;/定义一个余数int k=2;while(k=n/2)if(s2%k=0)/如果k是该数的因数,则让它的商继续这样的循环,如果不是,则将k加1System.out.pri

10、nt(k+,);/满足,输出ks2=s2/k;k=2;elsek+;二、给定一个整数数组:1.求其平均数,只输出整数部分 2.排序 3.假若这个数组是一棵完全二叉树的层次输出结果,求其后序遍历结果样例输入:3,7,5,6,4样例输出:5#3,4,5,6,7#6,4,7,5,3【上机环境】WinXP Eclipse(JAVA) 504M RAM【解题报告】1.a.看完题后一行代码没写我就直接去看了真实两个测试数据,发现范围均在100,0000200,0000之间b.Integer.toBinaryString()c.写了一个程序输出1100,0000的质数表,然后将输出复制到Eclipse编辑器

11、里作为数组常量d.用给出的n顺序挨个除质数表,某些质数需要除多次,输出a.第3问不写代码直接看两个真实的测试数据,均为给出10个1000,9999之间的数b.在纸上画画含有10个节点的二叉树,如果后序输出的话,顺序为:节点7,8,3,9,4,1,5,6,2,0c.然后将读入的数组的第7个元素public static void main(String args) / TODO Auto-generated method stubint an=3,7,5,6,4;/求其平均数int sum=0;/整数数组的和for(int i=0;ian.length;i+)sum=sum+ani; int average=sum/an.length;System.out.print(average+#);/排序int t=0;/交换数for(int i=0;ian.length;i+)for(int j=i+1;janj)t=ani;ani=anj;anj=t;for(int k=0;kan.length;k+)System.out.print(ank+,);System.out.println(#);/求其后序遍历结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号