random.c
来自「一遗传算法的例子源程序」· C语言 代码 · 共 32 行
C
32 行
#include <time.h>
#include "lithos.h"
static unsigned data[31];
static int current;
static int last;
void initRandom()
{
int i;
data[0] = time(0);
for (i = 1; i < 31; i++)
data[i] = (data[i - 1] * 1103515245) + 12345;
current = 3;
last = 0;
for (i = 0; i < 1000; i++)
random();
}
int random()
{
current = (current + 1) % 31;
last = (last + 1) % 31;
data[current] += data[last];
return data[current] >> 1;
}
int choose(int a, int b)
{
return (random() % (a + b)) < a;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?