新人菜鸡 2020-05-06 01:16 采纳率: 50%
浏览 89
已采纳

问一下这串代码中time_t起到个什么作用啊,他是怎么实现取到很大的素数p和q的?

选择p,q,p,q都是素数,。由于P和q都是大素数,所以为了方便由程序自动生成。
//产生随机素数p和q
void prime_random(int *p,int *q)
{
int i,k;
time_t t;
p[0]=1;
q[0]=3;

// p[19]=1;
// q[18]=2;

p[MAX-1]=10;
q[MAX-1]=11;

do
{
t=time(NULL);
srand((unsigned long)t);
for(i=1;i<p[MAX-1]-1;i++)
{
k=rand()%10;
p[i]=k;
}
k=rand()%10;
while (k==0)
{
k=rand()%10;
}
p[p[MAX-1]-1]=k;
}while((is_prime_san(p))!=1);
printf("素数 p 为 : ");
for(i=0;i<p[MAX-1];i++)
{
printf("%d",p[p[MAX-1]-i-1]);
}
printf("\n\n");
do
{
t=time(NULL);
srand((unsigned long)t);
for(i=1;i<q[MAX-1];i++)
{
k=rand()%10;
q[i]=k;
}
}while((is_prime_san(q))!=1);
printf("素数 q 为 : ");
for(i=0;i<q[MAX-1];i++)
{
printf("%d",q[q[MAX-1]-i-1]);
}
printf("\n\n");
return;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-05-06 10:04
    关注

    time_t这里纯粹用来初始化随机数种子,如果用固定的数字初始化,每次运行程序,结果一样。

    问题解决的话,请采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘