Работа с последовательностью натуральных чисел
В общем вот вся задача:
Напечатать true, если элементы последовательности упорядочены по возростанию и false – по убиванию. В последовательности натуральных чисел подсчитать количество тех, которые заканчиваются на заданную цифру. В заданной последовательности определить максимальное число подряд идущих положительных чисел. Найти сумму тех членов последовательности, которые оканчиваются на заданную цифру. Найти сумму четных членов последовательности целых чисел. 2 последних пункта, думаю, что сама смогу сделать. P.S. Прошу прощения, что засоряю этот форум, но я с js никогда не работала. И не собираюсь. А вот курсовую работу делать нужно. Честное слово, пыталась сама что-то сделать, но кроме автоматического генерирования массива (что элементарно) ничего толкового не вышло. Буду очень признательна за помощь. Просто уже не знаю к кому обратиться. |
var arr1 = [ 2, 3, 5, 7, 7, 7, 8, 10 ]; // для sorted() var arr2 = [ 14, 17, 12, 57, 27, 19, 97 ]; // для endsWith() var arr3 = [ -2, 7, 3, -1, 1, 2, 3, -5 ]; // для consecPositive() /* Если массив отсортирован по возрастанию, возвращается 1, по убыванию — -1, если вообще не отсортирован, то 0. */ function sorted(A) { var T = A[0] < A[1], N = false; for (var i = 1; i < A.length - 1; i++) { if ( T ? A[i] > A[i+1] : A[i] < A[i+1] ) { N = true; break; } } return N ? 0 : T ? 1 : -1; } function endsWith(A, j) { var k = 0; for (var i = 0; i < A.length; i++) if (A[i] % 10 === j) ++k; return k; } function consecPositive(A) { var max = 0, j = 0, F = false; for (var i = 0; i < A.length; i++) { if (!F && A[i] > 0) F = true, j = i; if (F && A[i] < 0) { if (i - j > max) max = i - j; j = 0; F = false; } } return max; } alert( sorted(arr1) ); alert( endsWith(arr2, 7) ); alert( consecPositive(arr3) ); |
Часовой пояс GMT +3, время: 09:46. |