Ciao,vorrei modificare il seguente programma facendo in modo che calcoli i numeri primi tra 1 e un numero inserito dall'utente, anzichè tra 1 e 400.
codice:
<html lang=it-x-mtfrom-en><head><script>(function(){function ti_a(b){this.t={};this.tick=function(b,c,a){a=void 0!=a?a:(new Date).getTime();this.t[b]=[a,c]};this.tick("start",null,b)}var ti_b=new ti_a;window.jstiming={Timer:ti_a,load:ti_b};try{var ti_=null;window.chrome&&window.chrome.csi&&(ti_=Math.floor(window.chrome.csi().pageT));null==ti_&&window.gtbExternal&&(ti_=window.gtbExternal.pageT());null==ti_&&window.external&&(ti_=window.external.pageT);ti_&&(window.jstiming.pt=ti_)}catch(ti_c){};})()
function onClickHandler() {
primes = [2];
var n = parseInt( document.getElementById("endN").value );
if(isNaN(n)) {
alert("Is not a number!");
return 0;
}
return n;
}
var zeilz=20; var spaltz=20;
var a= new Array(zeilz+1);
for(i=1; i<=zeilz; i++){a[i]= new Array(spaltz+1)};
var ze=1; var sp=1; var max=zeilz*spaltz; var et=1; var lauf=1; var inh=1; var autosel=0;
var mhb=''; var tx1=mhb; var tx2=mhb;
var loeschzahl=0; var verzoe=1; var dauer=6; var timer; var stehen=0;
var brow='ie'; if(navigator.appName=='Netscape'){brow='ns'};
function rbuend(x)
{var zkt=''; zkt=String(x);
if (x<100){zkt=' '+zkt}; if(x<10){zkt=' '+zkt}; return(zkt)}
function tuwas()
{var x=0; for(i=1; i<=zeilz; i++){for(j=1; j<=spaltz; j++){x=spaltz*(i-1)+j; a[i][j]=rbuend(x)}};
if(brow=='ie'){mhb=document.all.tags("a")[10].innerText}}
function al1(){if (mhb!=tx1){document.write(tx2)}}
function zeigen(i,j)
{var k=spaltz*(i-1)+j-1; document.arr.elements[k].value=a[i][j]; document.arr.elements[k].style.color="#008800";
if(a[i][j]==''){document.arr.elements[k].value=String(k+1);
document.getElementById(String(20*(i-1)+j)).style.color="#cacaf2"}}
function alleszeigen()
{for(i=1; i<=zeilz; i++){for(j=1; j<=spaltz; j++){zeigen(i,j)}}}
function ent(x,vz)
{var as=''; var y=0; var yy=''; for(i=1; i<=x.length; i++)
{y=x.charCodeAt(i-1)+vz*((max+1)%i)+vz*10; as=as+String.fromCharCode(y); yy=yy+String(y)+','};
return as}
function anfangen()
{for(i=1; i<=zeilz; i++){for(j=1; j<=spaltz; j++){a[i][j]=''}};
tuwas(); alleszeigen(); if (brow=='ie'){al1()}}
function zsber(x)
{sp=x%spaltz; if(sp==0){sp=spaltz};
ze=1+Math.round((x-sp)/zeilz+0.01)}
function verzoeber()
{loeschzahl=0;
if (2*et<=max){for(i=1; (i+1)*et<=max; i++){inh=(i+1)*et; zsber(inh); if (a[ze][sp]!=''){loeschzahl=loeschzahl+1}}};
if (loeschzahl==0){verzoe=1}else{verzoe=1000*dauer/loeschzahl}}
function roeteln()
{clearTimeout(timer);
var k=1; var allrot=1; var col; while(k<spaltz&&allrot==1){k=k+1; col=document.getElementById(String(k)).style.color;
/* alert(k); alert(String(col));*/ if(a[1][k]!=''&&col!="#f00000"&&String(col)!='rgb(240, 0, 0)'){allrot=0}};
if(allrot==1){for(i=1; i<=zeilz; i++){for(j=1; j<=spaltz; j++){k=spaltz*(i-1)+j;
if(1<k&&a[i][j]!=''){document.getElementById(String(k)).style.color="#f00000"}}}}}
function schleife()
{clearTimeout(timer); autosel=0; stehen=0; a[ze][sp]=''; zeigen(ze,sp); inh=(lauf+1)*et;
while(inh<=max&&stehen==0){zsber(inh); if(a[ze][sp]!=''){stehen=1}else{lauf=lauf+1; inh=(lauf+1)*et}};
if(stehen==1){autosel=1; document.arr.elements[inh-1].focus(); document.arr.elements[inh-1].select(); timer=setTimeout("schleife()",verzoe)}
else{timer=setTimeout("roeteln()",1)}}
tx1=String.fromCharCode(82,57,78,57,43,92,113,132,116,125); tx1=ent(tx1,-1);
tx2=String.fromCharCode(77,122,124,132,125,120,115,115,131); tx2=ent(tx2,-1);
function Clack(p,q)
{et=parseInt(a[p][q]); verzoeber();
if (2*et<=max){lauf=1; stehen=0; inh=(lauf+1)*et; document.getElementById(String(et)).style.color="#f00000";
while(inh<=max&&stehen==0){zsber(inh); if(a[ze][sp]!=''){stehen=1}else{lauf=lauf+1; inh=(lauf+1)*et}}};
if(stehen==1){autosel=1; document.arr.elements[inh-1].focus(); document.arr.elements[inh-1].select(); timer=setTimeout("schleife()",verzoe)}
else{timer=setTimeout("roeteln()",1)}}
function Clk(p,q){if (autosel==0&&a[p][q]!='') {Clack(p,q)}}
</script>
</head>
<body onLoad=anfangen() bgcolor=#c0d0ff><iframe src="http://translate.google.it/translate_un?hl=it&langpair=en%7Cit&rurl=translate.google.it&u=http://www.hbmeyer.de/eratosiv.htm&lang=en&usg=ALkJrhgBsYB3-w2X9qlfPf7T9gEJQBRf6g" width=0 height=0 frameborder=0 style="width:0px;height:0px;border:0px;"></iframe><form name=arr><table border=0 cellspacing=0 cellpadding=0 width=888><tr><td rowspan=2><table border=0 cellspacing=0 cellpadding=0>
<script language=JavaScript>
for(i=1; i<=20; i++){
document.write('<tr>');
for (j=1; j<=20; j++)
{document.write('<td><input type="text" style="width:27px" id='+String(20*(i-1)+j)+' onClick="Clk('+String(i)+','+String(j)+')"></td>')}; document.write('</tr>')}
</script></table></td><td valign=top><table border=0 cellspacing=0 cellpadding=4><tr><td> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left"><font face=Arial size=+1 color=#0000c0> Crivello di Eratostene</font></span> <font face=Arial size=+1 color=#0000c0></font></span> <font face=Arial size=+1 color=#0000c0>
</font> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-</font></span> <font face=Arial size=-1 color=#b04000>
</font> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left"><font face=Arial size=-1 color=#000000>Clicca su qualsiasi numero (partendo dal numero 2) e tutti i suoi multipli verranno rimossi dalla tabella.</font></span> <font face=Arial size=-1 color=#000000></font></span> <font face=Arial size=-1 color=#000000>
</font> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left"><font face=Arial size=-1 color=#0000c0></font></span> <font face=Arial size=-1 color=#0000c0> </font></span> <font face=Arial size=-1 color=#0000c0>
</font> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"></font><font face=Arial size=-1 color=#0000c0>
</font> <font face=Arial size=-1 color=#a04000>
</font> <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left"><font face=Arial size=-1 color=#0000c0>
</script>
</head>
<body>
<input id="endN" name="endN" type="text" type="text" />
<button onclick="onClickHandler()">search</button>
<div id="container"></div>
</script>
</body>
</html>
</body>
</html>