高分求救!一个随机数产生的问题 路人甲,代码太乱、太长,我给你说一下思路吧。建一个Vector用来存储产生的中间结果首先,随机得到10个不相同的数存入数组,然后排序,和Vector中已经存在的数组相比较,如果有相同的,就跳出程序,否则将这个数组存入Vector中,继续以上的操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 拜托~你有没有算一算?从40个数中找10个数的组合方式一共有847660528种。每一种你都用长度为10的数组来存放,假设数组存整型数据(32位,4字节)。所以你对中间结果的保存就将花费最大为40×847660528÷1024÷1024=32335.6829833984375M的内存,你的512M根本就是3万M的内存的零头而已,呵呵~~~应该另外在想办法设计你的程序,等我想到了再说吧。祝你好运! to: ppchen(韦古)老兄,那也得要几十G的硬盘呀~呵呵~~ 反正是40个数,并不需要确定到底是哪40个,所以只需要纪录从0到39的编号就可以了因为要排序,所以我们只需要记录排序之后相邻元素的差,而这个差肯定不会超过30,所以每个元素就只需要5 bit来保存就够了。这样,10个元素的数组只是需要50个bit来保存,相当于7个byte那么我们一共就只需要32336M*7/50=4527M 首先更正楼上的公式,应该是:32336M×7÷40=5658.8M每个元素可以只用40个bits,用40个bits中的1和0表示对应的数有没有被选中。也就是说这40个bits中,有且只有10个“1”,30个“0”。这样就只有32336×5÷40=4042M呵呵~~,还是好大啊~ 关闭套接字出警告 谁有收藏的适合初学者学习csdn里的好的帖子把网址发过来好么? 求一个用JAVA编写的图书管理系统的源代码 再问包与javac 各位能推荐几本介绍eclipse的使用的书籍吗,或网址也可以 关于java.util.Date和java.sql.Date()的问题 100分!!问问题!!! String 中的汉字为什么被java 认做一个字符? Java 的函数参考有没有chm格式的??? 我在其他论坛里找到一篇好文章,我拿过来了,嘿嘿。 用记事本写的程序为什么不能转化成java格式的 超级……有关中文显示问题?
从40个数中找10个数的组合方式一共有847660528种。
每一种你都用长度为10的数组来存放,
假设数组存整型数据(32位,4字节)。
所以你对中间结果的保存就将花费最大为
40×847660528÷1024÷1024=32335.6829833984375M
的内存,你的512M根本就是3万M的内存的零头而已,
呵呵~~~
应该另外在想办法设计你的程序,等我想到了再说吧。祝你好运!
老兄,那也得要几十G的硬盘呀~
呵呵~~
因为要排序,所以我们只需要记录排序之后相邻元素的差,而这个差肯定不会超过30,所以每个元素就只需要5 bit来保存就够了。这样,10个元素的数组只是需要50个bit来保存,相当于7个byte
那么我们一共就只需要32336M*7/50=4527M
这样就只有32336×5÷40=4042M
呵呵~~,还是好大啊~