<input type="button" name="button" value="Найти сумму чётных элементов последовательности целых чисел" onClick="summa(1,9);"><br><br>
<script>
function summa(min_random, max_random) {
var range = max_random - min_random + 1;
return Math.floor(Math.random()*range) + min_random;
var b=range.length;
var s=0;
range=Number(range);
if (b%2=0){
for (i=1; i<b+1; ++i){
s=s+ b;
}
}
else {
s=s;
}
alert("Сумма сумма чётных элементов последовательности целых чисел равна:"+s);
}
</script>
Арифметика на Javascript
Необходимо реализовать на Javascript.
Что имеем:
Код:
Собственно проблема в том, что данный код не работает. Что не так? И как это исправить?
1) Зачем return? Потому и не работает.
2) Не легче генерируемые данные записывать в массив?
3) Все что идёт ниже b = range.length логике вообще не поддаётся
var range = max_random - min_random + 1;
return Math.floor(Math.random()*range) + min_random;
эти три строчки для генерации случайных целых чисел выисканы с форума . Зачем там return без понятия.
Все остальное авторский бред.
2. Возможно и легче. Не представляю только как .
3. Что я хотела сказать :
function summa(min_random, max_random) { // первые 3 строчки генерируют послед-ть
var range = max_random - min_random + 1;
return Math.floor(Math.random()*range) + min_random;
var b=range.length; // переменная b это размер посл-сти
var s=0; // переменная для суммы
range=Number(range); // возможно лишнее. переводим посл-сть в число
if (b%2=0){ // тут похоже косяк. вместо b нужно range. но смысл, что если при делении на 2 получим в остатке ноль, тогда вып-ся след. условие
for (i=1; i<b+1; ++i){
s=s+ b;// здесь тоже бред. вместо b range?
}
}
else {
s=s;
}
alert("Сумма сумма чётных элементов последовательности целых чисел равна:"+s);
}
Рекомендую все-таки не тупо копировать код, а разбираться что он делает, иначе далеко не уйдете.
Код:
/**
* int sizeof - размер последовательности
* int rand_max - максимальное число при генерации случайного значения
*/
function f(sizeof, rand_max) {
var offset = 0;
var sum = 0;
while( offset < sizeof ) {
rand = parseInt(Math.random()*rand_max);
if( (rand % 2) == 0 ) sum += rand;
offset++;
}
alert("Сумма равна:"+sum);
}
* int sizeof - размер последовательности
* int rand_max - максимальное число при генерации случайного значения
*/
function f(sizeof, rand_max) {
var offset = 0;
var sum = 0;
while( offset < sizeof ) {
rand = parseInt(Math.random()*rand_max);
if( (rand % 2) == 0 ) sum += rand;
offset++;
}
alert("Сумма равна:"+sum);
}
Здесь подразумевается, что ищется сумма четных чисел. Если нужны именно четные элементы - то надо rand % 2 заменить на offset % 2.
А вот чтобы реализовать это именно последовательностью (т.е. её нужно хранить в памяти и потом пробегать по массиву) - это уже ваше домашнее задание от меня)
P.S.: на JS не писал более года, потому мог где-то накосячить по синтаксису.