1. 随机生成5个不大于100的整数,并求平均值
Random r = new Random();//生成随机数的工具对象
int a;// 每次记录生成的随机数
int number = 0;//记录5个随机数的总和
for (int i = 0; i <= 4; i++) {
a = r.nextInt(10);
number = number + a;
System.out.println(a);//输出每一个生成的随机数
}
System.out.println(number + "");//输出计算出的5个随机数的总和
System.out.println("平均数为:" + (number / 5));//输出平均值public static void main(String[] args) { int a,b,c,d,e; Random random = new Random(); a = random.nextInt(100);//100代表只要100以内的整数,如果有此参数,则此参数必须为正数 b = random.nextInt(100); c = random.nextInt(100); d = random.nextInt(100); e = random.nextInt(100); System.out.println("a="+a+"\tb="+b+"\tc="+c+"\td="+d+"\te="+e); System.out.println("average="+((a+b+c+d+e)/5.0));}
2. 随机生成100到999的整数,输出其中最大值和最小值。
如果只是产生最大值和最小值的话,只添加一个command就可以了.
之后写这些代码 .
Private Sub Command1_Click()
Randomize '产生随机数种子 以防止每次生成结果都一样
Dim a(1 To 100) As Integer '声明数组存放数据 用来保存随机数结果
Dim max As Integer, min As Integer '声明两个变量存最大值和最小值
min = 1000: max = 0 '设置初值
For i = 1 To 100 '循环100次
a(i) = Int(Rnd() * 1000 + 1) '用rnd生成一个随机数 由于rnd范围为0-1之间的小数.所以*1000设置他的范围为0到999之间 加1变成1到1000之间
If a(i) >= max Then max = a(i) '如果当前数值大于最大值的变量就保存
If a(i) <= min Then min = a(i) '如果当前数值小于最小值的变量就保存
Next
MsgBox "最大值为" & max
MsgBox "最小值为" & min
End Sub
3. R语言生成随机数问题
一般地,如果你已知一个连续随机变量X的cdf F_X(x)(=P(X<=x))的话,那么F^(-1)(U)(F^(-1)为F的反函数)就符合这个分布(U为(0,1)上的均匀分布),反之亦然。证明很简单,就是直接套定义。
所以你可以写出来F^(-1)这个函数(比如说自定义函数名为FInverse),然后生成随机数组:
randomSequence<-FInverse(runif(n))
对于指数分布来说,
FInverse<-function(p,lambda=1){
-log(1-p)/lambda
}
离散随机变量类似吧。。。
当然,前提是你能写出来F^(-1)。。。(所以我老师说这个方法没啥用。。。)有的分布不好写F^(-1),但是有一些比较巧妙的办法(比如正态分布),这种应该就只能具体问题具体分析了。
4. 定义一个一维的整数数组 其中存储随机生成的10个1至100以内的整数 求数组元素的最大值 并将其输
var intArray = [];// 生成1-100随机数组for (var i = 0; i < 10; i++) { intArray.push(Math.floor(Math.random() * 100));}alert(intArray);// 数组最大值var maxInt=Math.max.apply(Math, intArray);alert(maxInt);
5. 使用java.lang.Math类,生成100个0~99之间的随机整数,找出它们之中的最大值及最小值,并统计大于50的整个
以下是我现写的
import java.util.Random;
public class Word {
public static void main(String args[]) {
int max = 0;
int min = 0;
String sum="";
for (int i = 0; i <= 100; i++) {
Random rand = new Random();
int r = rand.nextInt(99);
System.out.println(r);
if (r >= max) {
max = r;
} else if (r < min) {
min = r;
}
String s= ""+r;
if (r > 50) {
sum=sum+s+",";
}
}
System.out.println("max=" + max + "\n" + "min=" + min);
System.out.println(sum);
}
}
6. R语言分别产生服从N(75,10)和0-1(0,5)分布的随机数,小于0的取0,大于100的取100,请大神指点怎么写!
x <- runif(100,min = 0,max = 5)
y <- rnorm(n = 100,mean = 75,sd = 10)
stp_fun <- function(x){
y <- length(x)
for( i in 1:y)
x[i] <- max(0,x[i])
x[i] <- min(100,x[i])
x
}
7. 随机生成10个1~100之间的整数,存入到一个数组中,输出该数组的最大值、最小值、平均值和所有数组元素和
public class lqq11_2 {
public static void main(String args[]) {
int my_lqq[] = new int[10];
for (int i = 0; i < my_lqq.length; i++) {
my_lqq[i] = (int) (Math.random() * 100);
System.out.print(my_lqq[i] + " ");
}
System.out.println();
int min = my_lqq[0];
for (int i = 0; i < my_lqq.length; i++) {
if (min < my_lqq[i])
min = my_lqq[i];
}
System.out.println("随机数中最小值为:" + min);
int max = my_lqq[0];
for (int i = 0; i < my_lqq.length; i++) {
if (max > my_lqq[i])
max = my_lqq[i];
}
System.out.println("随机数中最大值为:" + max);
int sum = 0;
double arvage = 0;
for (int i = 0; i < my_lqq.length; i++) {
sum += my_lqq[i];
arvage = (float) (sum / 10);
}
System.out.println("随机数的和为:" + sum);
System.out.println("随机数的平均值为:" + arvage);
}
}
8. 用C++编程:随机生成25个-100~100之间的整数(含-100和100),输出其中的最大数和
#include
void main()
{
using namespace std;
int ar[25];
for(int i=0;i<25;i++)
{
ar[i]=rand()%200-100;
}
int max=ar[0],min=ar[0];
for(int i=0;i<25;i++)
{
if(max<ar[i])
{
max=ar[i];
}
if(min>ar[i])
{
min=ar[i];
}
}
for(int i=0;i<25;i++)
{
cout<<ar[i]<<" ";
}
cout<<endl;
cout<<"最大的整数为: "<<max<<endl;
cout<<"最小的整数为: "<<min<<endl;
}