OneCompiler

pi(x) con eit(x) en JS

números primos con eit(x)
o con los ceros no triviales

//π(x) con eit(x)//

function eit(x)
{if (x-Math.round(x)==0 & x>=1)
return 1
if (x-Math.round(x)!=0 | x<1)
return 0}

function a(x)
{n=Math.floor((2*x-4+(-1)**x)/6)
return n}

function c(x)
{t=0, k=0
for (let j=8;j<=a(x);j++)
{for (let i=1;i<=Math.floor((-1+(3*j+1)**(1/2))/3);i++)
t+=eit((6*j+3-(-1)**j)/(6*i+3-(-1)**i))
k+=eit(t)
t=0}
return k}

function π(x)
{t=a(x)-c(x)+2
return exp(t)}

function exp(x)
{return x.toExponential(100)}

//si p(x)=1, x es primo//
//si p(x)=0, x no lo es//

function p(x)
{t=0, k=0, g=(6*x+3-(-1)**x)/2, ti=(x-1)/3, tj=(x-2)/3
h=(2*Math.floor(g**(1/2))+(-1)**Math.ceil((g+1)**(1/2))-6)/6
if (ti!=2*Math.round(ti/2) & tj==2*Math.round(tj/2))
return 0
if (ti!=2*Math.round(ti/2) & ti-Math.round(ti)==0)
return 0
if (tj==2*Math.round(tj/2) & tj-Math.round(tj)==0)
return 0
if (ti-Math.round(ti)!=0 & tj-Math.round(tj)!=0)
return 0
if (ti==2*Math.round(ti/2) & ti-Math.round(ti)==0)
{for (let i=1;i<=h;i++)
t+=eit(2*x/(6*i+3-(-1)**i))
if (eit(t)==0)
return 1
if (eit(t)==1)
return 0}
if (tj!=2*Math.round(tj/2) & tj-Math.round(tj)==0)
{for (let i=1;i<=h;i++)
k+=eit(2*x/(6*i+3-(-1)**i))
if (eit(k)==0)
return 1
if (eit(k)==1)
return 0}}

//π0(x) con ceros no triviales//

function fact(x)
{if (x==0) return 1; 
return x*fact(x-1);}

function zeta(x)
{t=0
for (let i=1;i<=200;i++)
t+=(1/(i**x))
return t}

function ri(x)
{t=0
for (let i=1;i<=200;i++)
t+=(Math.log(x)**i)/(i*fact(i)*zeta(1+i))
return (1+t)}

function ceros(x)
{t=x
//falta hipótesis de riemann//
return t}

function resta(x)
{t=0
for (let i=1;i<=100;i++)
for (let j=0;j<=3+Math.floor(Math.log(x)/(1+Math.E));j++)
t+=2*((x**0.5)*Math.sin(ceros(i)*Math.log(x))-(x**0.25)
*Math.sin(ceros(i)*Math.log(x)*0.5))*fact(j)/(ceros(i)
*Math.log(x)**(1+j))
return t}

function π0(x)
{t=exp(ri(x)-resta(x))
return t}

console.log(π(1000000))