Помогите пожалуйста,нужно очень срочно
Необходимо выполнить два задания, написать код:
1)Вывести на экран простые числа от 132 до 723. 2) Заполнить массив случайными числами и найти среднее значение, медианное значение и моду |
Цитата:
|
laimas,
а мод? |
рони,
это значение, которое встречается в наборе чаще всех, например для 1, 2, 2, 3 = 2. PS. Только не мод, а мода. |
laimas,
спасибо |
Rise,
вспоминайте школу :) медианой треугольника называется отрезок соединяющий вершину с серединой противоположной ей стороны. Для чисел, это упорядочить набор по возрастанию и взять среднее значение в наборе, а если длина набора четная, то сумму двух средних значений деленной по полам. Для 1,2,2,3,3 = 2 а для 1,2,3,3 = (2 + 3) / 2 = 2,5 У 1,2,2,3,3 две моды - 2 и 3, также у набора может не быть моды. |
Rise,
Мо́да — значение во множестве наблюдений, которое встречается наиболее часто. (Мода = типичность.) Иногда в совокупности встречается более чем одна мода (например: 6, 2, 6, 6, 8, 9, 9, 9, 10; мода = 6 и 9). В этом случае можно сказать, что совокупность мультимодальна. Из структурных средних величин только мода обладает таким уникальным свойством. Как правило мультимодальность указывает на то, что набор данных не подчиняется нормальному распределению.(Википедия) |
Цитата:
|
#1
let getSimpleNumbers = ( ( ) => {
function isSimple(num) {
let delimiter = Math.floor(num / 2);
while (delimiter > 1) {
if (num % delimiter-- === 0) return false;
}
return true;
}
return (from, to) => {
let x, result = [ ];
for (x = from; x <= to; x++) {
if ( isSimple(x) ) result.push(x);
}
return result
}
} ) ( )
alert( getSimpleNumbers(132, 723) )
|
#2
function getRandomNumbers(amt = 100, min = 0, max = 100) {
let result = [ ];
if (max < min) [max, min] = [min, max];
while (result.length < amt) {
result.push( ( min + max * Math.random( ) ).toFixed(0) )
}
return result
}
function getAverage(arr) {
let result = arr.reduce( (res, i) => {
return +res + +i;
} )
return result / arr.length
}
function getMedian(arr) {
let
copy = [ ], sum = 0,
halfLen = arr.length / 2
;
Object.assign(copy, arr);
copy.sort( (a, b) => a - b )
sum += +copy[ Math.ceil(halfLen) - 1 ];
sum += +copy[ Math.floor(halfLen) ];
return sum / 2
}
function getMode(arr) {
let
key, result = [ ],
count = { }, max = -Infinity,
nomodeMsg = "The array hasn't mode.",
nomodeFlag = true
;
arr.forEach( (item) => {
if ( !(item in count) ) count[item] = 0;
count[item]++
max = max < count[item] ? count[item] : max;
} );
if (max <= 1) return nomodeMsg;
for (key in count) {
if ( count[key] === max ) {
result.push(key)
} else {
nomodeFlag = false
}
}
return nomodeFlag ? nomodeMsg : result;
}
let
// Получим последовательность из 10 целых случайных чисел от 0 до 100
r = getRandomNumbers(10, 0, 100)
// Получим массив мод для последовательности
m = getMode(r),
// Получим медиану для последовательности
med = getMedian(r),
// Получим среднее значение для последовательности
a = getAverage(r)
;
alert( `Для последовательности ${r}
Среднее: ${a}
Медиана: ${med}
Мода(ы): ${m}` );
|
| Часовой пояс GMT +3, время: 23:48. |