作业介绍

质数

定义:又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

质数判断的重要优化

我们知道,任何一个自然数nn都可以写成两个自然数aabb的乘积:

n=abn = a * b

我们把a和b叫做n的因数,并称小的那个是小因子,大的那个是大因子。

nn 小因子aa 大因子bb
n=36n = 36 1 36
2 18
3 12
4 9
6 6
9 4

我们会发现小因子与大因子总是成对出现,即b=n//ab = n // a。并且因子在变化过程中,分界线是n的平方根。越过了这条线,小因子就变成了对应的大因子。

因此,判断一个数nn是否是质数,只需要判断它是否有不等于11的小因子,即[2,n][2,\sqrt{n}]之中是否存在能整除nn的数。

代码模板

质数判断

1~20的所有质数

状态
已结束
题目
5
开始时间
2025-3-9 0:00
截止时间
2025-3-16 23:59
可延期
24 小时