Comparar co-primos


8

Supongamos que tenemos dos números factorizados en sus números primos, representados como listas de (p, d), donde todos los p son primos yd son la potencia de p.

¿Hay alguna manera de comparar esos dos números sin convertirlos en enteros largos?

La comparación de dos números se puede reducir a la comparación de dos números primos, pero luego parece que la suerte se agota, y parece que necesito hacer algo de aritmética polinómica, que es lo mismo que convertir en enteros largos.


1
¿Qué tipo de comparación tienes en mente?
Martin Berger

tricotomía

55
Podrías sumar y comparar los logritmos, con precisión calculada perezosamente. Desafortunadamente, creo que en el peor de los casos (números casi iguales) necesitará suficiente precisión para que sea equivalente a simplemente multiplicar los números de todos modos. Sin embargo, esto le permitiría detectar números muy diferentes mucho más rápido.
Antimonio

Comparación @MartinBerger en cuanto a la capacidad de ordenarlos. Para el propósito de mi tarea, solo puedo agregar "derivar Ord", pero ese no es el orden numérico.
Sassa

@ ¿Logaritmos de antimonio con precisión calculada perezosamente? ¿te refieres a calcular series de logaritmos o algo mejor?
Sassa

Respuestas:


0

Esta es una pregunta realmente interesante. No puedo ver una manera de usar las factorizaciones primas de los enteros para acelerar la comparación wrt <, =,>.

Aquí está mi intuición sobre por qué debería ser difícil relacionar la factorización con <, = y>: la factorización prima se trata de la estructura multiplicativa de los enteros, mientras que <y> son cosas aditivas. Quizás mirar la definición de <en la aritmética de Peano aclara esto: la definición de <viene dada por (entre otras) las siguientes cláusulas.

  1. x.x<x+1

  2. xy.x<yx+1<y+1

x+1y+1xyxx+1

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.