定义:一个大于1的,除了1和它本身外,不能被其他自然数整除的整数,称为质数(prime number)又称素数。合数,指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。与之相对的是质数,而1既不属于质数也不属于合数。
问题一:判断单个数n是否为素数。
思路:如果该数大于或等于2,则遍历2到根号n区间的所有整数a,将n对a取余,如果余数全部不为0则n为质数。将上句话中的“整数a”改为“2与奇数a”、“素数a”,运算的时间越来越短。合数可以分解成若干素数的乘积。大于2的偶数已经是含有乘积项2的合数,n对其取余如果等于0则n对2取余必为0,n对其取余如果不为0则n对2取余也有可能为0,因此对大于2的偶数取余是完全多余的。同理,奇数里面也有合数,也可被分解为若干素数之积。故遍历素数最优,但这会牺牲空间记录素数。故“2与奇数a