返回顶部

收藏

Random Gap 产生伪随机数度量,产生的序列按大小排序,求相邻两个数的最大差值

更多

[C/C++]代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int a, c, m, r0;
int main()
{
int *f, r1, i, max, beg, end, temp;
while (scanf("%d %d %d %d", &a, &c, &m, &r0) != EOF)
{
   f = (int *)malloc(m * sizeof(int));
   // memset(f, 0, sizeof(m * sizeof(int)));
   for (i=0; i<m; i++)
    f[i] = 0;
   f[r0] = 1;
   while (1)
   {
    r1 = (a * r0 + c) % m;
    if (f[r1] == 0)
    {
     f[r1] = 1;
     r0 = r1;
    }
    else
     break;
   }
   max = 0;
   i=0; 
   beg = end = -1;
   while (i < m)//计算max的过程,注意不是相邻两次计算获得的值的差
   {
    if (f[i] == 0)
    {
     i++;
     continue;
    }
    else if (beg == -1)
    {
     beg = i;
     i++;
     continue;
    }
    else
    {
     end = i;
     temp = end-beg;
     if (temp > max)
      max = temp;
     beg = end;
     i++;
    }
   }
   printf("%d\n", max);
   free(f);
}
return 0;
}

标签:随机数

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 小强 发表 2017-10-20 06:22:22 Objective-C 随机数及数组随机取元素
  2. TiuVe2 发表 2017-09-30 02:17:38 探索各种随机函数 ( Java 环境 )
  3. 博主 发表 2017-05-26 00:00:00 随机数生成及其在统计模拟中的应用
  4. 博主 发表 2015-07-10 00:00:00 Shell 中的随机数生成方法
  5. 赵 伊凡 发表 2016-10-29 08:08:06 Java中生成随机数Random、ThreadLocalRandom、SecureRandom
  6. zhu329599788@126 发表 2017-01-19 10:31:16 C/C++产生随机数
  7. 糊涂虫 发表 2016-11-14 11:13:55 JS生成随机数
  8. 赵 伊凡 发表 2016-10-29 08:08:06 Java中生成随机数Random、ThreadLocalRandom、SecureRandom
  9. 持续的思考 发表 2014-02-19 09:29:35 golang生成随机数
  10. iv4n 发表 2016-05-24 02:36:15 聊一聊随机数安全
  11. Airen 发表 2016-04-20 13:32:22 JavaScript中的随机数
  12. zhu329599788@126 发表 2016-03-13 08:06:34 c语言产生随机数的方法

发表评论