素数和合数

#一日一词#

素数,又叫质数,为在大于1的自然数中,除了1和它本身以外不再有其他因数的数。比如2、5、13。

合数,就是出素数以外的数,是除1和本身外还有其他因数的数。

作用?

作用大些的是素数,因为它很难找(指足够大的素数)。所以经常用在加密解密算法里,比如RSA算法。总之找一个足够大的素数和判断一个足够大的数是否为素数,都十分难,因此大素数在加密算法中作为一个因子也是比较靠谱的。

这儿有个求N以内的素数的代码:

  num = 0;

   for(i=2; i<=n; i++)

   {  for(j=2; j<=sqrt(i); j++)

        if( j%i==0 ) break;

      if( j>sqrt(i) ) prime[num++] = i; //这个prime[]是int型,跟下面讲的不同。

}

和暴力枚举相似,将小于n的素数保存到数组prime中。当n足够大时,就不适用了。

posted @ 2017-02-09 20:27  隔壁老任  阅读(770)  评论(0编辑  收藏  举报