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))