11.10.2015 Views

Divisores

LfDvOp

LfDvOp

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

esultantes son 7*5=35 y 7*3*2=42, luego la solución es 35:<br />

MF_SOPF(12)=35<br />

Según la conjetura de Golbach todo número par mayor o igual que 4<br />

puede descomponerse en la suma de dos primos y según una variante<br />

débil, todo impar se puede descomponer en suma de tres primos. En<br />

ninguna de las dos se afirma que los sumandos sean distintos, por lo<br />

que no tenemos la absoluta certeza de que todos los números a partir<br />

de 7 posean un valor para la función. Existe una conjetura similar que<br />

afirma que todo número par mayor que 8 es suma de dos primos<br />

distintos. Podemos seguir con el tema con una cierta seguridad de que<br />

salvo 1, 4 y 6, todos los números naturales poseen un valor para<br />

MF_SOPF, salvo que se demuestre algún día que estas conjeturas son<br />

falsas.<br />

Para números mayores tendríamos que automatizar el proceso:<br />

buscaríamos todas las descomposiciones de N en suma de primos<br />

distintos y evaluaríamos los productos para descubrir el mínimo.<br />

Búsqueda acotada<br />

Usaremos la Búsqueda acotada que explicamos al principio de este<br />

tema. Es fácil encontrar una cota para un número con un valor de<br />

SOPF dado, sea, por ejemplo N. Todos los sumandos primos en los<br />

que pueda descomponerse N serán menores o iguales que N y como<br />

todos son mayores o iguales a 2, su número no sobrepasará N/2. Así<br />

que el número buscado tendrá como cota N^(N/2). Es muy amplia, y en<br />

la mayoría de los casos se encontrará la solución mucho antes, pero lo<br />

importante es que existe y nos permite acotar la búsqueda. Con esta<br />

idea podemos construir la función. Se supone que tenemos<br />

implementada la función SOPF, que no es difícil de programar.<br />

Public Function sopf(n)<br />

Dim f, a, s<br />

Dim vale as boolean<br />

If n=1 then sopf=0:exit function<br />

If

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!