Nemo_0
2013-11-25 05:36
采纳率: 100%
浏览 2.7k
已结题

随机生成10个100位素数

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

  • 点赞
  • 收藏

2条回答 默认 最新

  • wuli9999 2013-11-25 07: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;
    }

    点赞 打赏 评论
  • 一叶小舟_郭 2013-11-26 11:47

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

    点赞 打赏 评论

相关推荐 更多相似问题