domingo, 26 de agosto de 2018

Questão: teoria dos números (Primos)

<pre>


se limite_x tende a infinito,

note que para a posição 13567
13567 + | maior = 2*3*5*7*11*13*17*19*31*41*43* | menor = 23*29*37* res = 530117182249.

O número 17659 obtido na posição 13608 é mais de 30 milhões de vezes menor que o maior número anterior (13567)
530117182249 / 17659 = 30019660.357268248

13608 - | maior = 7*13*23*31*41*43* | menor = 2*3*5*11*17*19*29*37* res = 17659.

É possível obter os números primos 19,23,43,53,59,61,71,79,83,109,113,127,137...?

<script>

    var limite_x=3;

    function getVal()
    {

        p = new Array();
        p.push(2)
        prime=true;
   
        while(limite_x<200000)
        {
            for(var i=0; i<p.length; i++)
            {
                prime=true;
                if( limite_x%p[i]==0 )
                {
                    prime=false;
                    break
                }
            }
            if( prime )
            {
                p.push(limite_x);
            }
            limite_x++;
        }


        var dentro_p = new Array()
        var fora_p = new Array()


        for(var k=1; k<p.length; k++)
        {
            resp = parseInt( k >>> 0 ).toString( 2 );

            resp = resp.split("").reverse().join("");

            var n_maior=1;
            var n_menor=1;
            var s_m1=""
            var s_m2=""

            for(var i=0; i<resp.length; i++)
            {
                n_maior *= (resp[i]=="1"?p[i]:1)
                if(resp[i]=="1")
                s_m1 += p[i]+"*"

                n_menor *= (resp[i]=="0"?p[i]:1)
                if(resp[i]=="0")
                s_m2 +=p[i]+"*"
            }

            if(n_maior>n_menor)
            {
                document.write( k + " - | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior-n_menor)+"." );
                document.write( "</br>" );
                document.write( k + " + | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior+n_menor)+"." );
                document.write( "</br>" );


                dentro_p.push(n_maior-n_menor)
                dentro_p.push(n_maior+n_menor)
            }
        }



        for(var j=0; j<p.length; j++ )
        {
            var fora=true;
            for(var k=0; k<dentro_p.length; k++)
            {
                if(dentro_p[k]==p[j])
                {
                    fora=false;
                    break
                }
            }
            if(fora)
            {
                fora_p.push(p[j])
            }
        }
        document.write( "</br>" );
        document.write( fora_p );


    }   
    getVal();

</script>
</pre>

Nenhum comentário: