问题描述
- 随机生成10个100位素数
- 最近在学RSA的东西,这道题难住了我。跪求一份源代码。谢谢了。
C/C++等等都可以。
解决方案
#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;
}
解决方案二:
哥们 你的要求太大了吧 100位的素数? 做这么大的运算很麻烦的
时间: 2024-12-06 03:12:02