Премьер-функции в суде, судья, является ли число простым, поэтому в дополнение к этому числу достаточно долго корня

Следующий код, чтобы понять, как это я <= SQRT (х) тоже!

#include<bits/stdc++.h>//万能头文件,拿走不谢。 
using namespace std;
bool isprime(int x) {
	if(x == 1)
		return false;
	for(int i = 2; i <= sqrt(x); i++)//是因为不是素数,必然是合数,合数必然是除1和本身之外的两个数相乘。 
		if(x % i == 0) return false;
	return true;
}
int main() {
	int n;
	cin >> n;
	for(int i = 0; i < n; i++) {
		int b;
		cin >> b;
		printf("%s\n", isprime(b) ? "Yes" : "No");
	}
	return 0;
}

Ниже мы это число до 16, например, следующая операция

Here Вставка рисунка Описание
16 представляет собой составное число (и в дополнение к их, кроме 1, также может быть делимым и взаимно просты)

16 получается путем умножения двух факторов, где факторы могут быть записаны как 1 и 2 фактора. (Такие, как фиолетовая словесная часть)

6 3 * 4 * 4 = красная картина под номером 1 = 16 = 2 * 16 * 8 = 16 видео являются относительно небольшого фактора, что фактор всегда меньше 1, равен квадратный корень из 16.

Преимущество этого

От 2 до запуска скрининга простых чисел, до тех пор , пока существует скрининг фактор 1 может доказать , что он не может делится на простое число. Это экономит много вычислений, таких как> 10000 числа, вы были более чем сто циклов может определить , является ли это простое число, и , таким образом , непосредственно до 100 из 10000.
Таким образом , где эффективно.

Освобожденные восемь оригинальных статей · вона похвала 8 · просмотров 206

рекомендация

отblog.csdn.net/xzy15703841578/article/details/105264168