随机抽样java_实现随机抽样【随机数生成问题】

1、rand()

定义:

int rand(void);

返回值:返回一个伪随机数,该数的范围是:[0,RAND_MAX)

2、srand()

定义:

void srand(unsigned intseed);

返回值:该函数是随机数发生器的初始化函数;如果使用相同的种子给rand用,那么rand()会产生相同的伪随机数。常用的用法如下:

(1) srand((unsigned)time(&t));(2) srand((unsigned)time(NULL));这两个都是用当前时间去初始化种子;

(3) srand((int)getpid());使用程序的PID来作种子,那么在这个程序运行时种子固定那个。

3、实战经验

(1)使用math.h中的函数floor时报如下错误,经查是没有指定链接库。使用gcc -o randint randint.c -lm即可

(2)采用下面这个例子,生成随机数,如果个数多了,偶尔会有重复的值

#include

#include

#include

#define NUMBER_MAX 100

int main(int argc,char* argv[])

{

int num[NUMBER_MAX];

int i;

FILE *rand_num_file = fopen("rand_num_file.txt","w+");

srand((unsigned)time(NULL));

for( i=0; i<100; i++)

{

num[i] = rand()%900 + 100;

fprintf(rand_num_file,"%d\n",num[i]);

}

return 0;

}

(3)Makefile的学习刻不容缓,十一之后来了主攻《git权威指南》和《shell编程学习指南》

(4)按照网上的一种解法,实现randint和bigrand:用rand实现bigrand和randint

仍然会有重复的数值,那么我们怎么解决这个问题呢?我们要的是100~999之间的任意100个随机数,要求不能重复!

#include

#include

#include

#include

#define NUMBER_MAX 100

int randint(int l, int u);

int main(int argc,char* argv[])

{

int num[NUMBER_MAX];

int i;

FILE *rand_num_file = fopen("rand_num_file.txt","w+");

srand((unsigned)time(NULL));

for( i=0; i<100; i++)

{

//num[i] = rand()%900 + 100;//生成[100,999)之间的随机数

num[i] = randint(100,1000);

fprintf(rand_num_file,"%d\n",num[i]);

}

return 0;

}

//实现randint(l,u),返回[l,u]范围内的一个随机整数

int randint(int l,int u)

{

int temp;

temp = floor(l + (1.0*rand()/RAND_MAX)*(u - l + 1 ));

return temp;

}

补上:

今天看到用java语言生成随机数,有这么一个想法,也能满足我们的要求:生成[n,m]之间的k个不重复的随机数。参见:点击打开链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot配置shiro多项目实现session共享的详细步骤

springboot配置shiro多项目实现session共享的详细步骤 公司需要这样的需求&#xff1a; 有两个项目master 主项目、suiteone 项目&#xff0c;两个项目各自由shiro 安全框架管理&#xff0c;当不能登录时&#xff0c;都无法访问&#xff0c;但当登录了其中一个&#xff0c;再…

shiro框架---关于多项目之间验证为什么需要共享session

关于多项目之间登录验证为什么需要共享session 服务器上部署了两个项目&#xff0c;登录之后才可以访问其中的接口。现在想要实现&#xff0c;当登录项目1成功后&#xff0c;可以不需要再登录项目2&#xff0c;直接可以访问项目2中的接口。 大部分人都会想到&#xff0c;共享s…

怎么黑学校计算机室的电脑,大学计算机室变身黑网吧 校方:有需求

河南经贸职业学院计算机房在课间向学生收费办卡使用&#xff0c;被指变相开设“网吧”&#xff0c;一些学生痴迷于网络游戏中。对此&#xff0c;校方向记者表示&#xff1a;“上课时间不收费&#xff0c;课外时间有偿使用&#xff0c;学生有上网需求。”计算机房向学生收费玩游…

Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost

Linux重置Mysql密码 一般这个错误是由密码错误引起&#xff0c;解决的办法自然就是重置密码。 假设我们使用的是root账户。 1.重置密码的第一步就是跳过MySQL的密码认证过程&#xff0c;方法如下&#xff1a; #vim /etc/my.cnf(注&#xff1a;windows下修改的是my.ini) 在…

计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处

现在企业的档案都是比较多比较杂&#xff0c;也是非常重要的&#xff0c;所以利用资料管理系统管理档案&#xff0c;比传统档案管理方式要方便快捷得多。资料管理系统能够将文件处理和档案管理两个管理系统有机的结合在一起&#xff0c;真正实现无纸操作&#xff0c;规范管理&a…

excel 公式 平移 引用单元格_不学会这3个Excel隔列求和函数公式,你只能一个个单元格去相加...

Excel中的求和&#xff0c;并不是你们想的123那么简单。有单条件求和、多条件求和&#xff0c;合并单元格求和&#xff0c;隔列求和等等。有关求和的函数也很多&#xff0c;例如SUM函数、SUMIFS函数、还有与这两个函数结合使用的其它函数等等&#xff0c;不知道你们了解了多少。…

Linux - 查看软件安装与安装路径

【1】查看软件是否安装 因为linux安装软件的方式比较多&#xff0c;所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类&#xff1a; ① rpm包安装的&#xff0c;可以用rpm -qa看到&#xff0c;如果要查找某软件包是否安装&#xff0c;用 rpm -qa | grep…

惠新宸php教程_百度PHP高级顾问惠新宸:PHP在百度的发展历程

惠新宸&#xff0c;百度PHP高级顾问,年二十有八&#xff0c;好追根究底&#xff0c;有不良嗜好, 幸性本善。乙酉年识互联网&#xff0c;丁亥年入雅虎&#xff0c;翌年入百度。虽性好安稳&#xff0c;然经变无数&#xff0c;唯常叹人生&#xff0c;菠菜汤尔。 大家好&#xff0c…

计算机考试中英文打字题,五笔及中英文打字试题(2套)含答案.docx

文档介绍&#xff1a;五笔及中英文打字试题(2套)含答案.docx中英文打字试题(1)一、 填空题(每空1分,共10分)在打字键区的正屮央有8个键位,即左边的 键和右边的 键。这8个键位被称作基准键,是打字时手指所处的基准位置。 就是通过一个定义新词的对话框,将任何非标進的词语(甚至是…

计算机mips是什么,在计算机术语中,什么叫MIPS

2006-08-18在计算机术语中,什么叫VGA显卡所处理的信息最终都要输出到显示器上&#xff0c;显卡的输出接口就是电脑与显示器之间的桥梁&#xff0c;它负责向显示器输出相应的图像信号。CRT显示器因为设计制造上的原因&#xff0c;只能接受模拟信号输入&#xff0c;这就需要显卡能…

springboot配置多项目下统一切换不同环境变量profile办法

springboot配置多项目下统一切换不同环境变量profile办法 springboot 适合于微服务那种多项目开发&#xff0c;每一个小项目就是一个springboot 项目&#xff0c;比如我们这样&#xff1a; 问题发生&#xff1a; 我们知道springboot 项目中的配置文件application.propertie…

python语言运算符有三种_《Python语言程序设计》 —2.3 运算符

2.3 运算符在计算机中&#xff0c;数据处理实际上就是对数据按照一定的规则进行运算。在已经掌握Python基本数据类型的基础上&#xff0c;我们来看一下对这些类型的数据可以做哪些运算。这里介绍数据处理中一些常用运算符的作用和使用方法。2.3.1 占位运算符占位运算符类似于…

springboot 关于 Class path contains multiple SLF4J bindings.警告的解决

springboot 关于 Class path contains multiple SLF4J bindings.警告的解决 有一次配置好springboot项目启动后&#xff0c;忽然发现有下边的警告&#xff1a; SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E:/mavenJarOnline/c…

c# 计算机ip,C# 获取电脑的IP,网关,MAC,计算机名。。

【实例简介】【实例截图】【核心代码】using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Sockets;us…

wxml 判断 小程序_如何判断小程序外包公司是否靠谱

微信小程序依附微信App&#xff0c;由于其无需下载&#xff0c;无需安装&#xff0c;无需注册&#xff0c;直接用微信授权登录&#xff0c;不占内存等优势在短短2年多的时间斩获超过10亿用户。又因为微信官方开通了小程序附近五公里展示以及在微信搜一搜增加“小程序”搜索选项…

springboot配置启动后自动打开浏览器访问项目

springboot配置项目启动后自动打开浏览器访问项目 有时候在单机部署&#xff0c;或者项目没有在IDea 开发工具中运行&#xff08;idea可以自动打开tomcat项目&#xff09;&#xff0c;需要项目启动后自动打开浏览器访问项目&#xff0c;配置方法很简单。 一、具体步骤 所用到…

idea install 失败_idea maven install 卡住,无报错排查。

今天使用idea打包&#xff0c;执行install&#xff0c;看控制台日志&#xff0c;卡主了(意思是日志不继续在控制台输打印了&#xff0c;卡主了&#xff0c;也看不到错误)&#xff0c;也没有报错&#xff0c;然后进行排查。进入dos命令&#xff0c;进入到项目的根目录&#xff0…

研祥计算机U盘启动,研华工控机U盘启动设置

研华工控机U盘启动设置_计算机硬件及网络_IT/计算机_专业资料。研华工控机U盘启动研华IPC-610工控机安装的是XP版本&#xff0c;有时安装控制软件不满意时需要卸载软件&#xff0c;往往卸载的不彻底&#xff0c;使得安装无法顺利进行&#xff0c;这样就需要恢复系 统到开始比较…

ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...

全部四级六级Oh… Why dont you use the ladder?出自-2014年6月听力原文Use a ladder to help her reach the tea出自-2014年6月听力原文It provides a ladder of opportunity for the wealthy.出自-2016年6月阅读原文Americas education system has become less a ladder of …

服务器整机性能测试实验室,分析测试中心-重点实验室

1、XPS(可做刻蚀XPS&#xff1b;UPS价带谱)2、TEM(普通形貌、高分辨透射电镜&#xff1b;可测磁性样品TEM)3、SEM(场发射扫描电镜&#xff1b;可测磁性样品SEM&#xff0c;可喷金)4、BET(可测介孔、微孔材料比表面、孔容及孔径分布等全套分析&#xff0c;也可做水蒸汽、有机气体…