java30前奇数和_第三次Java练习题

这篇博客涵盖了多个Java编程的经典问题,包括八皇后问题的回溯算法实现、储物柜问题的逻辑解析、选择排序算法的实现、数组完全相同性的判断、组合计算、模式识别以及二维数组中连续相等数字的检测。通过这些练习,读者可以深入理解算法和数据结构的应用。
摘要由CSDN通过智能技术生成

11八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。编写程序给出一个解决方案

12一个学校有100个储物柜和100个学生。所有储物柜在上学的第一天都是关着的。随着学生进来,第一个学生用s1表示,打开每个柜子,然后第二个学生,用s2表示,从第二个柜子开始,第二个柜子用L2表示,然后关闭其他的柜子。学生s3从第三个柜子开始,然后改变每个柜子(如果它是开着就关上,如果它是关上就打开)。学生s4从柜子L4开始,然后改变每个柜子。学生s5从柜子L5开始,然后改变每个柜子。以此类推,直到s100改变L100为止。

在所有学生经过教学楼并改变了柜子后,哪些柜子是开着的,编写程序找出答案

提示:使用存放100个布尔类型元素的数组,每个元素表明一个柜子是开的还是关的,初始状态,所有柜子都是关的。

13.选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。写一个排序方法,方法头如下所示:

public int[] sort(int[] array)

对数组进行从小到大进行排序,编写测试程序,读取10个int类型数字,调用该方法,然后显示排好序的数组。

14.(完全相同的数组)如果两个数组list1和list2长度相同,而且对于每个i,list1[i]都等于list2[i],则认为list1和list2是完全相同的,使用下面方法头编写一个方法,如果list1和list2完全相同,那么这个方法返回true

public Boolean equal(int[] list1 int[] list2)

编写一个测试程序,提示用户输入两个整数数列,然后显示这两个整数数列是否完全相同。

15.(数学方面:组合)编写一个程序,提示用户输入10个整数,然后显示从10个数中选出两个数的所有组合

16.(模式识别方面,四个连续相等的数)编写下面的方法,测试某个数组中是否有四个连续的值相同的数字

public Boolean isConsecutiveFour(int[] values)

编写测试程序,提示用户输入一个整数数列,如果这个数列有四个连续的具有相同值的数,那就显示true,否则显示false。

二维数组

17 编写一个方法,求整数矩阵所有整数之和,使用下列方法头:

public double sumMatrix(int [][] m)

编写一个测试程序,读取一个3*3 的矩阵,然后显示所有元素的和。下面是一个运行示例:

Enter a 3-by-3 matrix row by row :

1 2 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值