挑战程序设计竞赛–求素数算法.pptVIP

  • 23
  • 0
  • 约4.08千字
  • 约 14页
  • 2017-05-07 发布于四川
  • 举报
挑战程序设计竞赛–求素数算法

挑战程序设计竞赛-求素数算法 素数(prime number) ,又称质数,指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。 比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着非常重要的地位。 最小的素数是2,也是素数中唯一的偶数;其他素数都是奇数。素数有无限多个,所以不存在最大的素数。 围绕著素数存在很多问题、猜想和定理。著名的有“孪生素数猜想”和“哥德巴赫猜想”。 关于素数的算法是信息学竞赛和程序设计竞赛中经常出现的基础算法,虽然题目各不相同,但都要涉及验证一个自然数是否为素数的问题。下面探讨寻找一定范围内素数的几个算法。 根据以上思路,可编写以下的试除法函豹: 其实,可以对素数的定义进行进一步的分析。要判断数n是否为素数,不需要用n一直除到n-1才能确认,而只需要除到√n 而就可以了。例如,n=15,则能被15整除的除数有1、3、5,对于除数5就不用判断,因为n被3整除时其商就是5,也就表示n能被5整除了。 验证一个自然数是否为素数,这个问题早在中世纪就引起人们的注意,当时人们还在寻找

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档