Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Простая Задача (https://javascript.ru/forum/misc/62045-prostaya-zadacha.html)

PS5124 22.03.2016 06:47

Простая Задача
 
Только начал знакомиться с языком и начать решать простенькие задачи.И сразу же возникает вопрос,в чем проблема.Скрипт не работает,не могу найти в чем ошибка.

Задача
Разработайте новую функцию с именем NN, которая подсчитывала сумму простых
чисел от 1 до n – вводит пользователь.


Рассуждал так:



function www(){
p=document.form1.r.value;
p=parseInt(p);
s=0;
k=0;
for (j=1; j<=p; j++)
{
	
for(i=1; i<=j; i++){
		if (j%i=0) {k=k+1};
	};
if (k<=2) {s=s+j};
};

document.writeln(s);
}

<HTML>
<HEAD>
<TITLE> title </TITLE>

<SCRIPT language=javaScript>

function www(){
p=document.form1.r.value;
p=parseInt(p);
s=0;
k=0;
for (j=1; j<=p; j++)
{
	
for(i=1; i<=j; i++){
		if (j%i=0) {k=k+1};
	};
if (k<=2) {s=s+j};
};

document.writeln(s);
}

</SCRIPT>
</HEAD>
<BODY>
<form action="" method="post" name="form1" id="form1">
N=
<input name="r" type="text" value="0" /><br>
<input type="button" name="Button" value="Count" onclick="www()"/>
</form>
</BODY>
</HTML>

рони 22.03.2016 09:51

Цитата:

Сообщение от PS5124
if (j%i=0)

чего то не хватает.
Цитата:

Сообщение от PS5124
document.writeln

может как-то иначе выводить результат.

DivMan 22.03.2016 10:27

Я решил не плодить темы и задать почти такой же вопрос сюда.

Почему при суммировании, не учитывает 2 и введённое число?

https://jsfiddle.net/6a2hg7na/

DivMan 22.03.2016 10:29

Я подумал и дописал, это нормальное решение?

https://jsfiddle.net/6a2hg7na/1/

рони 22.03.2016 12:12

Цитата:

Сообщение от DivMan
это нормальное решение?

сравните ваш результат и этот скажем при 10
<!DOCTYPE html>

<html>
<head>
  <title>title</title>
  <script>
function www() {
var p = document.form1.r.value,
    p = parseInt(p),
    s = 0,
    h = [];
    for (j = 2; j <= p; j++) {
        k = 0;
        for (i = 2; i < j; i++)
            if (j % i == 0) k = k + 1;
        k || (s += j, h.push(j) )
    }
    document.form1.v.value = h.join("+") + "=" + s
};
  </script>
</head>

<body>
  <form action="" method="post" name="form1" id="form1">
    N= <input name="r" type="text" value="0"><br>
       <input name="v" type="text" value="" readonly="readonly"><br>
    <input type="button" name="Button" value="Count" onclick="www()">
  </form>
</body>
</html>


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