04.07.2019, 07:09
|
Новичок на форуме
|
|
Регистрация: 04.07.2019
Сообщений: 3
|
|
Вычислить сумму массивов и вернуть сумму в квадрате
В этой задаче два массива случайной длины, заполненные случайными числами, передаются нашей функции testArray. Вам нужно вычислить сумму всех элементов обоих массивов и вернуть ее в квадрате из функции. Пример ввода : [3, 6, 8, 6, 3, 1, 1, 8] [8, 7, 4, 1, 6, 3]
Пример вывода : 4225
1. function testArray(a, b) {
var testArray=a.concat(b);
var x;
for (x= 0; x< testArray.length; x++){
(туплю и не понимаю как дальше двигаться)};
}
2.function testArray(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++)
{
sum += a[i];
}
for (var i = 0; i < b.length; i++)
{
sum += b[i];
}
return(sum*sum);
}
}
3.function testArray(a, b) {
var x;
for (var i=0;i<=a.length;i++)
{
x+= a[i];
}
var y;
for (var j=0;j<=b.length;j++)
{
y+= b[j];
}
var k;
k=x+y;
return(k*k);
}
}
и ещё миллиард решений и всё не так( помогите, пожалуйста!
|
|
04.07.2019, 07:30
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
var fn=(...arg)=>[].concat(...arg).reduce((s, el) => s + el)**2;
console.log( fn([1,2],[2,1]) );
console.log( fn([1,2],[2,1],[2,1,5,6,7]) );
|
|
04.07.2019, 07:48
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Ksenia1970, у вас второй вариант работает, только там скобка лишняя была в конце функции...
function testArray(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum += a[i];
}
for (var i = 0; i < b.length; i++) {
sum += b[i];
}
return sum * sum;
}
/* пример */
var sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum);
А в третьем варианте вы забыли назначить начальное число переменным x и y. И также у вас была ошибка в условии цикла. Сравните...
function testArray(a, b) {
var x = 0;
for (var i = 0; i < a.length; i++) {
x += a[i];
}
var y = 0;
for (var j = 0; j < b.length; j++) {
y += b[j];
}
var k = x + y;
return k * k;
}
/* пример */
var sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum);
Последний раз редактировалось Malleys, 04.07.2019 в 07:53.
Причина: Добавил про третий пример
|
|
04.07.2019, 07:54
|
Новичок на форуме
|
|
Регистрация: 04.07.2019
Сообщений: 3
|
|
спасибо большое, да! всё вышло)
|
|
04.07.2019, 08:05
|
Новичок на форуме
|
|
Регистрация: 04.07.2019
Сообщений: 3
|
|
да, поняла в чём ошиблась, спасибо за помощь!)
|
|
04.07.2019, 13:21
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
const testArray = (...arg) => Math.pow(arg.flat().reduce((s, el) => s + el), 2);
let sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum); // 4225
Вариант
|
|
|
|