C语言编写测试程序,生成十万个随机数对。判断这十万对随机整数是否互素的比例?

C语言编写测试程序,生成十万个随机数对。判断这十万对随机整数是否互素的比例?,第1张

#include <stdio.h>

#include <time.h>

#include <math.h>

#include <stdlib.h>

int isPrime(int n) {

  int i

  for(i=2i<=sqrt(n)i++) {

      if(n%i == 0) {

          return 0

   升没   }

  }

  return 1

}

int main() {

  int count = 0

  int i, n

  srand(time(NULL))

  for(i=0i<100000i++) {

      int a = rand()%100000

      int b = rand()%100000

      if(isPrime(a) == 1 &&敏雹 isPrime(b) == 1) {

          count ++

      }

  }

  printf("比例是:%.*lf%%\n", 2, (count*1./100000)*100)

  return 0

}

运行了几次桥笑帆,比例基本稳定在0.9%左右

最简单的方法,比如产生1~4000之前的随孝判尘机数

在数据库里生成4000条记录,每次通过下面的sql来获取

select num from 表 where used = 0 order by newid()

否巧禅则就是在程序里产生一个随机数,while(数组里存在)再取一个随机数

这样冲斗效率也低


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12413952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存