今天做程序需要实现一个随机数生成的机制,我偶然想到,随机数能不能生成也能做到实现:
[a,b] (a,b) [a,b) (a,b]四种区间呢?
经过我的实验,发现这样可以生成四种随机数:
#include <stdio.h>
#include <Windows.h>
int a = 5;
int b = 10;
int main()
{
while (true)
{
printf("%d ", rand() % (a - 1) + (b - a + 1)); //(a,b)
printf("%d ", rand() % a + (b - a)); //[a,b)
printf("%d ", rand() % a + (b - a + 1)); //(a,b]
printf("%d ", rand() % (a + 1) + (b - a)); //[a,b]
}
}