標題有點饒。相輸出以下結果:java
nn:[3, 5, 8, 4, 7, 2, 0, 1, 6]
findnum(nn):9數組
數組nn有9個元素,0到9之間,9不在數組nn中dom
======================code
nn:[5, 7, 1, 8, 4, 9, 0, 6, 3]
findnum(nn):2class
數組nn有9個元素,0到9之間,2不在數組nn中import
import java.util.Random fun main(){ val n=9 val nn=random1(n) println(nn.toList()) println(findnum(nn)) } fun findnum(n: IntArray): Int { (0..n.size).forEach { j -> if (j in n) {} else{return j} } return -1 //若是返回-1,則會形成imageViews數組越界 } //生成nn個不重複的逆序數爲偶數的數字 fun random1(nn: Int): IntArray { var ran = IntArray(nn) while (!iso(ran)) { ran = random_num(nn) } return ran } //生成nn個不重複數 fun random_num(nn: Int): IntArray { val r = IntArray(nn) val random = Random() var i = 0 while (i < nn) { r[i] = random.nextInt(nn+1) for (j in 0 until i) { while (r[i] == r[j]) { i-- break } } ++i } return r } //判斷逆序數是否爲偶數 fun iso(num: IntArray): Boolean { var sum = 0 val t = num.size (0..t - 2).forEach { i-> (i until t).forEach {j-> if (num[i] > num[j]) { sum++ } } } return sum % 2 == 0 && sum != 0 }