原创


三、程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共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程序设计初试竞赛试题的更多相关文章

  1. 《Java程序设计》课程试题

    < Java程序设计 >课程试题 一.单项选择题(20题:每题2分,共40分) 1.若数组a定义为int[][]a=new int[3][4],则a是___. A)一维数组 B)二维数组 ...

  2. (java保留n位小数)precise math function 北京信息科技大学第十届ACM程序设计竞赛 第2题

    precise math function Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Othe ...

  3. 西南科技大学第十届ACM程序设计竞赛题解

    A.德州扑克 B. 我恨11(1089) 问题描述 11是一个孤独的数字,小明十分讨厌这个数字,因此如果哪个数字中出现了11或者该数字是11的倍数,他同样讨厌这个数字.现在问题来了,在闭区间[L,R] ...

  4. 第十届蓝桥杯省赛-试题E: RSA 解密

    试题E: RSA 解密 这里涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法) 另外还需要注意扩展欧几里得 ...

  5. 20145213《Java程序设计》第十周学习总结

    20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...

  6. 21045308刘昊阳 《Java程序设计》第十周学习总结

    21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...

  7. 《Java程序设计》第十周学习总结

    20145224 <Java程序设计>第十周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的 ...

  8. 20145236 《Java程序设计》 第十周学习总结

    20145236 <Java程序设计> 第十周学习总结 Java网络编程 Java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好的语言, ...

  9. csu 1503: 点弧之间的距离-湖南省第十届大学生计算机程序设计大赛

    这是--比量p并用交点连接中心不上弧.在于:它至p距离.是不是p与端点之间的最短距离 #include<iostream> #include<map> #include< ...

随机推荐

  1. Python Object Oriented

    1. Creating class class className: 'Optional class documentation string' class_suite The class has a ...

  2. VMware Workstation Pro 12 创建虚拟机(安装Ubuntu)

    为了在VMware Workstation下创建一个虚拟机,折腾了大半天,现把比较顺利的创建办法记录下来: VMware Workstation版本: 创建步骤: 1.VMware Workstati ...

  3. 压测工具Locuse的使用

    我是听朋友提起的"蝗虫"(Locust),然而她不想用python,我就拿来试一试~ http的 各种压测工具也已经太多了,所以主要是试试locust在当前比较流行的rpc协议上的 ...

  4. java根据pdf模版动态生成pdf

    java根据pdf模版动态生成pdf package com.utils; import java.io.ByteArrayOutputStream; import java.io.File; imp ...

  5. XML---Studying

    XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 1.什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类 ...

  6. Spring实战之通过XML装配bean

    尽管Spring长期以来确实与XML有着关联,但现在需要明确的是,XML不再是配置Spring的唯一可选方案.Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了. ...

  7. 跟我学算法-pca(降维)

    pca是一种黑箱子式的降维方式,通过映射,希望投影后的数据尽可能的分散, 因此要保证映射后的方差尽可能大,下一个映射的方向与当前映射方向正交 pca的步骤: 第一步: 首先要对当前数据(去均值)求协方 ...

  8. spring+mybatis之注解式事务管理初识(小实例)

    1.上一章,我们谈到了spring+mybatis声明式事务管理,我们在文章末尾提到,在实际项目中,用得更多的是注解式事务管理,这一章将学习一下注解式事务管理的有关知识.注解式事务管理只需要在上一节的 ...

  9. ASP .NET core 入门基础内容备份

    model 里边设置主键 : [key]可以自定义主键 默认是名称为ID类型为int的字段 设置显示格式: [DisplayFormat(DataFormatString="{0:显示的格式 ...

  10. PHP - declare tick

    今天看php手册,结构流程控制语句,翻到个没见过的关键字declare(申明的意思).于是稍稍看了下. 大概意思是:定义一段代码.关于他合适执行,怎么执行完全依照他的参数. 反正不知道什么意思.先来一 ...