社区
C语言
帖子详情
再问一个菜问题。。。一个简单的随机算法。。
flyrocer
2003-07-27 09:56:11
如何实现一个简单的随机算法,如要从12个数中随机抽出6个,如何实现???
...全文
69
16
打赏
收藏
再问一个菜问题。。。一个简单的随机算法。。
如何实现一个简单的随机算法,如要从12个数中随机抽出6个,如何实现???
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leafxx
2003-07-29
打赏
举报
回复
注释位置写错了
leafxx
2003-07-29
打赏
举报
回复
偶来写一个C下的:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i,j;
int ballN[12]={1,2,3,4,5,6,7,8,9,10,11,12};
for (i=0; i<6; )
{ srand(time(NULL));
j=(rand()%13);
if (ballN[j]!=-1)
{ printf ("%3d", ballN[j]); /* 将取过的值置为-1 */
i++;
ballN[j] = -1;
}
}
getchar();
}
lw_yx
2003-07-29
打赏
举报
回复
UP
MaiCle
2003-07-27
打赏
举报
回复
stukov2002(卡拉是头猪):是个好孩子。:)
MaiCle
2003-07-27
打赏
举报
回复
stukov2002(卡拉是头猪):呵呵,客气客气。
MaiCle
2003-07-27
打赏
举报
回复
还有啊:
srand(time(NULL));
for(n = 0; n < 6; n ++)
{
printf("%d\n", nArray[rand() % 6]);
}
取出来的6个数是一样的。
应该这样:
for(n = 0; n < 6; n ++)
{
srand(time(NULL));
printf("%d\n", nArray[rand() % 6]);
}
idontlikenickname
2003-07-27
打赏
举报
回复
唔~知错就改就是好孩子~
多谢MaiCle(【找个深圳玩伴59953505】)
*^^*
MaiCle
2003-07-27
打赏
举报
回复
stukov2002(卡拉是头猪) :你的代码有问题:
for(n = 0; n < 6; n ++)
{
printf("%d\n", nArray[rand() % 6]); //这样搞,永远也取不到nArray[6]以上
的数了。
}
MaiCle
2003-07-27
打赏
举报
回复
struct sT
{
int nValue;
bool bUse;
};
class CTest
{
public:
CTest()
{
for ( int i = 0; i < 12; i++ )
{ m_sz[i].nValue = i; //数组的值是你要存放的数据,这里我随便给了。
m_sz[i].bUse = false; //表示未被使用
}
}
bool GetUse(int nPos)
{
return m_sz[nPos].bUse;
}
void SetUse(int nPos)
{
m_sz[nPos].bUse = true;
}
int GetValue(int nPos)
{
return m_sz[nPos].nValue;
}
private:
sT m_sz[12];
};
int main()
{
CTest Test;
int nPos = 0;
for( int i = 0; i < 6; i++ )
{
srand(time(NULL)); //这里用到的函数要加库头文件
nPos = rand() % 12;
if ( !Test.GetUse(nPos) )
{
Test.GetValue(nPos);
Test.SetUse(nPos);
}
else
{
i--;
}
}
retrun 0;
}
idontlikenickname
2003-07-27
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int nArray[12] = { 12个数 };
int n;
srand(time(NULL));
for(n = 0; n < 6; n ++)
{
printf("%d\n", nArray[rand() % 6]);
}
}
MaiCle
2003-07-27
打赏
举报
回复
还可以强大一点就是每次取数组值时判断一下是否取过该值,不难吧。
flyrocer
2003-07-27
打赏
举报
回复
3Q
flyrocer
2003-07-27
打赏
举报
回复
写个对的啊,我很急的。。。
MaiCle
2003-07-27
打赏
举报
回复
是用随机函数与12取余得到12以内的随机数,取6次就OK了。
MaiCle
2003-07-27
打赏
举报
回复
不对,写错了。
MaiCle
2003-07-27
打赏
举报
回复
那还不容易,将这12个数放入一个数组中,然后用随机函数与6取余得到6以内的随机数,然后取数组值就OK了。
一个
简单
的
随机
算法
——红包
算法
一个
简单
的红包生成
算法
,代码如下: /** * 红包 * @param n * @param money 单位:分 * @return */ public static double[] redPacket(int n, double money) { // 红包结果 double[] result = new double[n]; ...
【
算法
】3 由招聘
问
题
看
随机
算法
招聘
问
题
我想看我博客的还是学生人群偏多吧,本身很快就要去面试了,在这篇博客的
问
题
中,我们就把自己当作Boss过把瘾。某天,你想雇用一名
算法
工程师。当然,不可能让你这个Boss亲自去到处练习应聘者,而是选择了中介。雇用中介每天都会给你推荐
一个
应聘者(PS:还是让自己轻松点,一天只应聘
一个
人哈)。是个地球人都知道,你必须要给中介付一小笔钱。然后如果你雇用了
一个
应聘者则需要更多的钱,一来你要解雇现有的
算法
用python实现的两种抽奖
算法
以及基于tkinter实现的
简单
GUI(概率
随机
抽奖、次数
随机
算法
)
------------次数
随机
算法
---------- #抽奖一次少
一个
名额 class randomMachine(object): import random as rd def setWeight(self, weight): self.weight = weight self.chanceList=[] for k,v...
简单
红包
随机
算法
简单
红包
随机
算法
给点总额allMoney
随机
分成 count 份,要求每份的金额不小于min 不大于max /** * * @param allMoney 总金额 * @param count 总条数 * @param min 最小额 * @param max 最大额 * @return */ ...
一个
简单
的
随机
算法
——生成
随机
时间
根据起始时间生成
随机
事件,代码如下: public static Date randomDate(Date beginDate,Date endDate ){ if(beginDate.getTime() >= endDate.getTime()){ return new Date(); } long d...
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章