Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

13 votos

Generar todos los pares de coprimos dentro de límites

Digo que quiero generar todos los pares coprimos (a,b) donde no a A es superior y no supera el b B.

¿Hay una manera eficiente de hacer esto?

10voto

fattire Puntos 716

Si A B son comparables en valor, el algoritmo para la generación de la secuencia de Farey puede adaptarse bien; genera todos los pares de coprime enteros (a,b)1a<bN, con una constante de los requisitos de memoria y O(1) operaciones por par de salida. Se ejecuta con N=max y el filtrado de pares cuyos otro componente excede el otro obligado produce todos los coprime parejas que buscan.

Si los valores de A B difieren demasiado, el tiempo perdido en el filtrado de la irrelevante pares sería demasiado alto y un enfoque diferente (como las propuestas por Thomas Andrews) podría ser necesaria.

3voto

HappyEngineer Puntos 111

En general, si (a,b) es coprimo (a-b,b) son coprimos y (a,b-a) son coprimos. Lo que puedes hacer esto por inducción, que tendrá tiempo de O(AB) y O(AB) memoria.

No se puede hacer en mejor momento, ya que hay salidas de O(AB) - % grande A,B, se trata de \frac{6AB}{\pi^2} salidas. Posiblemente lo puedes hacer en la memoria mejor - mantener todos los valores más pequeños es un costo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X