桂林理工大学第十届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< ...
随机推荐
- C 语言 - 分支、跳转和循环语句
if 条件判断语句 if 语句结构 格式: if (表达式) { 语句; } 如果表达式成立,就执行大括号中的语句:否则跳过该 if 语句 #include <stdio.h> int m ...
- 表格字段常用注解@NotBlank @NotEmpty @NotNul @Pattern
在Hibernate Validator(org.hibernate.validator.constraints)中: @NotEmpty://CharSequence, Collection, Ma ...
- update project maven项目的时候出错
preference node "org.eclipse.wst.validation"has been remove 上面的错误是因为修改包名无法互相引入导致的,仅仅需要将Ecl ...
- ffmpeg基本用法(转)
FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种 ...
- Unity脚本开发基础 C#
1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...
- Spring Session 学习记录1
先写些废话 新公司项目是有用到redis,之前老公司使用的缓存框架是ehcache.我redis并不熟悉.看过介绍以后知道是个nosql..既然是个数据库,那我想操作方法和jdbc操作关系数据库应该差 ...
- ConditionalAttribute 类
指示编译器应忽略方法调用或属性,除非已定义指定的条件编译符号. #define CONDITION1#define CONDITION2using System;using System.Diagno ...
- 前端 webpack
前端 webpack http://www.cnblogs.com/lvdabao/
- kali linux: 网卡监听及扫描网络
一.网卡监听: kali不支持内置网卡,仅仅支持usb网卡.我用的虚拟机.首先在虚拟机的可移动设备里打开usb网卡的连接,执行ifconfig命令,如下: eth0接口是本地有线网卡信息,lo接口是本 ...
- 利用Fiddler对Android模拟器网络请求进行抓包
安装使用Fiddler 下载安装Fiddler的方法这里就略过了,一路Next就行了.装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了.Fiddler默认的代理地址是127.0 ...