1:素数问题(2023年)
素数是指除了 1 和它本身以外,不能被任何整数整除的数
一个数的因子最大到n/2
常见算法:
(一)最简单方法(从2到n-1每个数均整除判断)时间复杂度O(n)
(二)开根号法:从2到\sqrt{}n均整除判断,时间复杂度O(\sqrt{}n)(原因:素数是因子为1和本身, 如果数c不是素数,则还有其他因子,其中的因子,假如为a,b.其中必有一个大于sqrt(c) ,一个小于sqrt(c) 。所以m必有一个小于或等于其平方根的因数,那么验证素数时就只需要验证到其平方根就可以了。即一个合数一定含有小于它平方根的质因子。)
例:
(1)设计一个函数int is_prime(int x)用于判断一个整数是否是素数,是素数返回1,否则返回0。
(2) 在 主函数中调用isprime函数,输出100-999之间的个位数为7的所有的素数之和。