Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает Решето Эратосфена (https://javascript.ru/forum/misc/60844-ne-rabotaet-resheto-ehratosfena.html)

Bruha1991 22.01.2016 23:24

Не работает Решето Эратосфена
 
Здравствуйте! Есть код, который должен реализовывать решето Эратосфена, но он почему-то не работает. Объясните пожалуйста почему и если можна исправте
<script>

	searchPrime(p){
		for(i = 1; i < 98; i++){
			if(((i + 2) % p) == 0){
				a[i] = false;
			}
		}
	}

	findP(i){
		while(i < 98){
			if(a[i] != false){
				p = i + 2;
			}
			i++;
		}
	}

	var a = [];
	var p = 2;

	for(var i = 0; i < 98; i++){
		a[i] = true;
	}
			
	while((p * p) < 99){
		searchPrime(p);
		findP(((a.indexOf(p)) + 1));
	}
			
	for(i = 0; i < 98; i++){
		if(a[i] == true){
			alert((i + 2));
		}
	}
			
</script>

рони 23.01.2016 00:09

Bruha1991,
function где?
function remove(p){
		for(var i = 2*p; i < 98; i+=p){
				a[i] = false;
		}
     };

	var a = [];
	var p = 2;

	for(var i = 0; i < 98; i++){
		a[i] = true;
	}

	while(p * 2 < 99){
		remove(p);
		p++;
	}

	for(var i = 0; i < 98; i++){
		if(a[i] == true){
			alert(i);
		}
	}


Часовой пояс GMT +3, время: 16:39.