función principal en el juicio, juzgar si un número es primo, eso que además de ese número el tiempo suficiente raíz

El código siguiente para entender cómo i <= sqrt (x) también!

#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;
}

A continuación este número a 16, por ejemplo, la siguiente operación

Aquí Insertar imagen Descripción
16 es un número compuesto (y es, además de su distinto de 1 también puede ser divisible y relativamente primo)

16 se obtiene por la multiplicación de dos factores, donde los factores puede ser escrita como 1 y 2 factor. (Tales como púrpura parte palabra)

6 3 * 4 * 4 = pintura de color rojo con el número 1 = 16 = 2 * 16 * 8 = 16 Videos son factor relativamente pequeño, que factor es siempre menor que 1 es igual a la raíz cuadrada de 16.

El beneficio de este

Del 2 al iniciar el cribado primos, siempre y cuando no es el factor 1 de cribado se puede probar que no podía divisible por un número primo. Esto ahorra una gran cantidad de computación, tales como> número 10000, eras más de un centenar de ciclos se puede determinar si es un número primo, y por lo tanto directamente a 100 de 10000.
Así, cuando eficiente.

Publicado ocho artículos originales · ganado elogios 8 · visitas 206

Supongo que te gusta

Origin blog.csdn.net/xzy15703841578/article/details/105264168
Recomendado
Clasificación