桂林理工大学第十届java程序设计初试竞赛试题
原创
三、程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共36分)
(6分)1、以下函数的功能是判断一个正整数是否为质数,若是返回true,否则返回false。其中参数data为要判断的正整数。请给出其实现代码。
public boolean isPrime(int data)
{
}
class Main{ public boolean isPrime(int data){
if(data==1 || data==2){
return true;
}
for(int i=2;i<=Math.sqrt(data);i++){
if(data%i==0){
return false;
}
}
return true;
}
} public class Test { public static void main(String[] args) {
Main test=new Main();
for(int i=1;i<=20;i++){
if(test.isPrime(i)==true){
System.out.println(i+"是质数");
}else{
System.out.println(i+"是合数");
}
}
} }
(8分)2、以下函数的功能是判断一个整数数组是否有序(升序或降序,允许相等),若是有序的返回true,否则返回false。其中参数data为要判断的数组。请给出其实现代码。
public boolean isSorted(int[] data)
{
}
class Main{ public boolean isSorted(int[] data){ //有序返回true,否则返回false int flag=2; //0代表升序,1代表降序,2代表相等 for(int i=0;i<data.length-1;i++){
if(data[i]<data[i+1]){ //升序
if(flag==1){ //原来不能降序
return false;
}
flag=0;
}else if(data[i]>data[i+1]){ //降序
if(flag==0){ //原来不能升序
return false;
}
flag=1;
}else{ //相等
flag=2;
}
} return true;
} } public class Test { public static void main(String[] args) {
Main test=new Main();
int data[]={1,3,3,4,5,6,7,8,9};
if(test.isSorted(data)){
System.out.println("有序");
}else{
System.out.println("无序");
}
} }
(10分)3、以下函数的功能是寻找一个矩阵中的所有“奇点”,即返回每一行的“奇点”所在列的坐标,若某行不存在“奇点”则返回-1。其中参数data为要判断的数组。所谓“奇点”是指该处的数值在它所处的行与列都是最大的。若每行存在多个“奇点”,仅取第一个(从左到右顺序)。假设矩阵中的数据如下所示,则返回数组值为{3, 1, -1}(左边),{1, 0, -1, 2}(右边)。
1 |
4 |
9 |
17 |
2 |
16 |
8 |
13 |
2 |
3 |
4 |
8 |
11 |
16 |
5 |
23 |
16 |
8 |
2 |
9 |
4 |
4 |
8 |
12 |
public int[] singularity (int[][] data)
{
}
class Main{ public int[] singularity (int[][] data){
int res[]=new int[data.length];
for(int i=0;i<res.length;i++){
res[i]=-1;
}
for(int i=0;i<data.length;i++){
for(int j=0;j<data[0].length;j++){
int flag1=1;
int flag2=1;
int max=data[i][j];
for(int rank=0;rank<data[0].length;rank++){ //判断行最大
if(data[i][rank]>data[i][j]){
flag1=0;
}
}
for(int row=0;row<data.length;row++){ //判断列最大
if(data[row][j]>data[i][j]){
flag2=0;
}
}
if(flag1==1 && flag2==1){ //奇点
res[i]=j;
break;
}
}
}
return res;
}
} public class Test { public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
Main test=new Main();
int data[][]=new int[4][3];
for(int i=0;i<data.length;i++){
for(int j=0;j<data[0].length;j++){
data[i][j]=reader.nextInt();
}
}
int input[]=test.singularity(data);
for(int i=0;i<input.length;i++){
System.out.print(input[i]+" ");
}
} }
(12分)4、以下函数的功能是判断矩阵中的两个不同且不在边界上的点是否匹配,若匹配则返回true,否则返回false。其中,其中参数data为要判断的数组,i1与j1表示第一点的下标(从0开始计数),i2与j2表示第二点的下标。两个点匹配应同时满足如下条件:①两个点所赋予的值相同,且不等于0;②能够找到一条折线(最多包含三条水平或垂直的线段)将它们连接起来,而且这条折线所经过的点所赋予的值全部为0。假设矩阵中的数据如下所示,则点[1, 3]与[4, 2]是匹配的,点[1, 3]与[2, 2]是匹配的,而点[1, 4]与[3, 4]是不匹配的,点[3, 1]与[3, 4]也是不匹配的。
0 |
1 |
0 |
2 |
0 |
3 |
0 |
0 |
0 |
2 |
3 |
4 |
0 |
1 |
2 |
4 |
1 |
0 |
0 |
3 |
4 |
0 |
3 |
1 |
0 |
0 |
2 |
0 |
3 |
0 |
public boolean isMatch (int[][] data, int i1, int j1, int i2, int j2)
{
}
桂林理工大学第十届java程序设计初试竞赛试题的更多相关文章
- 《Java程序设计》课程试题
< Java程序设计 >课程试题 一.单项选择题(20题:每题2分,共40分) 1.若数组a定义为int[][]a=new int[3][4],则a是___. A)一维数组 B)二维数组 ...
- (java保留n位小数)precise math function 北京信息科技大学第十届ACM程序设计竞赛 第2题
precise math function Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Othe ...
- 西南科技大学第十届ACM程序设计竞赛题解
A.德州扑克 B. 我恨11(1089) 问题描述 11是一个孤独的数字,小明十分讨厌这个数字,因此如果哪个数字中出现了11或者该数字是11的倍数,他同样讨厌这个数字.现在问题来了,在闭区间[L,R] ...
- 第十届蓝桥杯省赛-试题E: RSA 解密
试题E: RSA 解密 这里涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法) 另外还需要注意扩展欧几里得 ...
- 20145213《Java程序设计》第十周学习总结
20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...
- 21045308刘昊阳 《Java程序设计》第十周学习总结
21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...
- 《Java程序设计》第十周学习总结
20145224 <Java程序设计>第十周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的 ...
- 20145236 《Java程序设计》 第十周学习总结
20145236 <Java程序设计> 第十周学习总结 Java网络编程 Java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好的语言, ...
- csu 1503: 点弧之间的距离-湖南省第十届大学生计算机程序设计大赛
这是--比量p并用交点连接中心不上弧.在于:它至p距离.是不是p与端点之间的最短距离 #include<iostream> #include<map> #include< ...
随机推荐
- python以下划线开头的变量名含义
Python核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有的 ...
- 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题
主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的 ...
- linux日志查询技巧
问题描述: 18803959896用户反馈,通讯录备份失败,提示“身份验证失败,请注销账号后重新登录”,不管用账号密码登录还是一键登录,都是提示这个.请协助查询.谢谢~ 备注:三星note3最新版本彩 ...
- 异步编程之Generator(2)——剖析特性
异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...
- 基于Tesseract的身份证识别Android端应用
以开源的Tesseract为基础,做了一个身份证识别的app. 图片资源是百度找的,而且手机对着电脑屏幕拍照,拍出很多花纹,影响比较大,所以误差不小,实测对着自己身份证拍照会好很多. 效果图: 1.拍 ...
- Oracle11gr2_ADG管理之switchover补充
之前演示的switchver总是提示下面的错误,并且需要人工干预: Oracle11gr2_ADG管理之switchover实战 DGMGRL> switchover to snewtest; ...
- vertex shader(1)
Vertex shader Architecture: 所有在vertex shader中的数据都用128-bit的quad-floats表示(4x32-bit). vertex shader线性地执 ...
- 使用crontab设置定时任务
配置文件 crontab主要的配置文件如下: /etc/crontab:系统cron表 /etc/cron.d/*:保存由软件包安装脚本创建的cron文件的目录 /var/spool/cron/*:保 ...
- 解决Tomcat 一闪而过的问题
启动tomcat时cmd窗口一闪而过解决方法. 问题现象: 在实际开发中一般都是eclipse+tomcat(也许还会用到tomcat的插件),我们只需要在eclipse中单击servers上的按钮就 ...
- Ubuntu设置开机启动服务
一.查看当前的运行级别 runlevel 二.加载服务 $ cd /etc/init.d $ sudo update-rc.d test defaults 95 三.增加默认启动脚本 sudo vi ...