#129. 质数判断(优化版)
质数判断(优化版)
说明
质数(也叫素数)是指在大于 1 的自然数中,除了 1 和它自身以外不再有其他正因数的数。
例如:2, 3, 5, 7, 11, 13 都是质数;4, 6, 8, 9, 10 都不是质数。
给定 T 个正整数,请你判断每个数是否是质数。
输入格式
第一行,一个整数 T(),表示要判断的数的个数。
接下来 T 行,每行一个整数 n(),表示要判断的数。
输出格式
对于每个 n,输出一行:如果是质数输出 Yes,否则输出 No。
5
2
7
9
17
100Yes
Yes
No
Yes
No
</p>
提示
判断 n 是否为质数时,只需检查 2 到 之间是否有 n 的因子即可。
原理:如果 ,那么 a 和 b 中至少有一个 。所以如果 n 在 范围内没有因子,则 n 是质数。
实现方式:
- Python:
for i in range(2, int(n**0.5)+1): - C++:
for (int i=2; i*i<=n; i++)
另外,可以预先判断:如果 n < 2 则不是质数;如果 n = 2 或 n = 3 则是质数;如果 n 是大于 2 的偶数则直接判断为不是质数。