2 gy4518 gy4518 于 2013.11.25 13:36 提问

随机生成10个100位素数

最近在学RSA的东西,这道题难住了我。跪求一份源代码。谢谢了。
C/C++等等都可以。

2个回答

wuli9999
wuli9999   2013.11.25 15:15
已采纳


#include
#include
#include

#define RANGE 100
int IsPrime(int i);

void main()
{
int iPrime = 0;

while(1)
{

srand((unsigned)time(NULL));
iPrime = rand()%RANGE; //得到随机数
if(IsPrime(iPrime)) //判断是否为素数,若为素数,则退出循环,否则继续取随机数
break;
}
printf("%d",iPrime);
}

int IsPrime(int iPrime)
{
int i = 0;

if(iPrime < 2)
{
return 0;
}
else
{
for(i=2;i<sqrt(iPrime);i++)
{
if(iPrime%i == 0) //只要从2到sqrt(iPrime)中有一个数可以被iPrime整除,则iPrime非素数
return 0;
}

}
return 1;
}

wuli9999
wuli9999 你可以参考这个思路
接近 4 年之前 回复
neida434
neida434 100的随机数再加几位不就是了么。。。
接近 4 年之前 回复
u012889435
u012889435 这个貌似取的是100以内的随机数吧.........
接近 4 年之前 回复
gy4518
gy4518 咱能对自己的答案负点责么 不要随便复制一个就贴上行吗
接近 4 年之前 回复
guomingbing12
guomingbing12   2013.11.26 19:47

哥们 你的要求太大了吧 100位的素数? 做这么大的运算很麻烦的

Csdn user default icon
上传中...
上传图片
插入图片