Ideia para solucao do problema de fatoracao. Minha ideia para encontrar algum fator não trivial de um inteiro composto N, em linhas gerais, eh a seguinte:
[Passo 0] Comece com um natural P par. O ideal seria que fosse P = n# (primorial de n, isto eh, o produto de todos primos menores ou iguais a n), ou P = n!, com n razoavelmente grande. Se MDC(N, P) eh maior que 1 e menor que N, então encontramos um fator. [Passo 1] Eh claro que P + 1 e P - 1 são relativamente primos com P. Então P + 1 e P - 1 tem, ambos, fatores primos que não estao em P. Note que sendo P par, então P + 1 e P - 1 sao coprimos. Essa coprimalidade 2 a 2 vai continuar nas proximas etapas. Fassa P[0] = P - 1 P[1] = P + 1 (O zero indica subtração e 1 indica soma) e Calcule MDC(N, P[0]) Calcule MDC(N, P[1]) Se algum desses MDC for maior que 1 e menor que N, encontramos um fator. Note que como P[0] e P[1] sao relativamente primos com P, e tambem primos entre si, então diferentes fatores primos foram testados. A minha ideia aqui eh "acumular fatores primos distintos" em certos numeros naturais e depois verificar por MDC se ha fatores em comum, como verao adiante. [Passo 2] Fassa P[0, 0] = P * P[0] - 1 = PP - P - 1 P[0, 1] = P * P[0] + 1 = PP - P + 1 P[1, 0] = P * P[1] - 1 = PP + P - 1 P[1, 1] = P * P[1] + 1 = PP + P + 1 (o zero posicional indica subtracao e o 1 soma) Calculemos o MDC de cada um desses quatro numeros com N. Se algum desses MDC for maior que 1 e menor que N, então encontramos um fator. Note que cada um desses numeros eh relativamente primo com P, com P[0] e com P[1]. Mais: eu pude verificar que os 4 (quatro) numeros obtidos no [PASSO 2] sao 2 a 2 coprimos (!) pois a diferenca entre eles ou teria que ser par (nao eh) ou teria que ser divisivel por P (tambem nao eh). Entao varios novos fatores primos foram testados aqui. [Passo 3] Se ainda nao encontramos algum fator, continuamos como jah estamos fazendo, para obter 8 (oito) numeros dois a dois coprimos. Multiplicamos cada um dos 4 (quatro) numeros obtidos Por P, e depois somamos e subtraimos 1 de cada produto, resultando em 8 (oito) numeros dois a dois coprimos, como jah vimos, e coprimos com todos os anteriores P[0, 0, 0] = = P * ( P[0, 0] - 1) - 1 = = PPP - PP - P - 1 P[0, 0, 1] = P * ( P[0, 0] - 1) + 1= = PPP - PP - P + 1 P[0, 1, 0] = = P * ( P[0, 1] + 1) - 1 = = PPP - PP + P - 1 P[0, 1, 1] = PPP - PP + P + 1 P[1, 0, 0] = PPP + PP - P - 1 P[1, 0, 1] = PPP + PP - P + 1 P[1, 1, 0] = PPP + PP + P - 1 Calculamos o MDC de cada um desses oito numeros com N. Se o MDC for maior que 1 e menor que N, encontramos um fator. Como todos esses 8 numeros sao dois a dois coprimos, muitos fatores primos distintos foram testados. Vamos obter uma arvore que se bifurca em dois ramos, ao multiplicarmos cada numero por P e somarmos ou subtrairmos 1 de cada produto. Eh como se considerassemos sucessivamente todas as funcoes polinomiais de grau de 1 ateh m em que o coeficiente lider eh 1 e os demais coeficientes sao 1 ou -1. E depois calculassemos o MDC do valor numerico de cada um desses polinomios aplicado em P. Como os numeros P[ X, Y, ...] sao dois a dois coprimos, então muitos fatores primos serão testados (note que P nao eh o mesmo que P[ X, Y, Z, ...], onde X, Y, Z podem ser 1 ou -1) Acho que eh uma ideia valida. Muito melhor que a de meu email anterior. Alguem pode comentar esse algoritmo? Rodar num sistema de computacao algebrica, tipo Maple ou algo do genero? Pedir a uma IA para rodar esse algoritmo? (sim, elas fazem isso, mas estao cometendo erros grosseiros em contas de aritmetica basica) Abracos fraternos [EricCBGuedes][02-maio-2025] -- Esta mensagem foi verificada pelo sistema de antiv�rus e acredita-se estar livre de perigo.

