返回指定范围内的随机整数: Sub main() Randomize Debug.Print 随机整数(1, 2) End Sub Function 随机整数(a As Integer, b As Integer) As Integer 随机整数 = Int((b * Rnd) + a) End Function Randomize语句(后面没有number)可以让每次执行程序产生不同的序列,因为不带number的语句是用计时器当前值做随机序列的种子.
function selectNum(lowNum,upNum) { var num = upNum-lowNum+1; // Math.floor() 向下取整 return Math.floor(Math.random()*num+lowNum); } var result = selectNum(2,8); //2~8范围内的整数
思路分析:尼玛这不就是等差数列么.首先将该n-1个整数相加,得到sum,然后用(1+n)n/2减去sum,得到的差即为缺失的整数.因为1~n一共n个数,n个数的和为(1+n)n/2,而未排序数列的和为sum,二者之差即为确实的数. 程序示例如下: #include "stdafx.h" #include <stdio.h> #define MAX 5 int main() { int array[MAX] = { 3, 2, 1, 6, 4 }; int i; int su