From 55a05b198b5afb9a358624070a41394999904134 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 09:26:08 +0500 Subject: [PATCH 01/21] test --- warmup.js | 72 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 13 deletions(-) diff --git a/warmup.js b/warmup.js index eefda9891..8a16ef5d8 100644 --- a/warmup.js +++ b/warmup.js @@ -8,7 +8,9 @@ * @returns {Number} Сумма аргументов */ function abProblem(a, b) { - // Ваше решение + if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) + throws TypeError; + return a+b; } /** @@ -19,7 +21,13 @@ function abProblem(a, b) { * @returns {Number} Век, полученный из года */ function centuryByYearProblem(year) { - // Ваше решение + if(isNaN(parseFloat(year)) && isFinite(year)) + throws TypeError; + if(year<0) + throws RangeError; + if(year%100 == 0) + return year/100; + else return year/100 + 1; } /** @@ -30,7 +38,14 @@ function centuryByYearProblem(year) { * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ function colorsProblem(hexColor) { - // Ваше решение + if(typeof hexColor !== 'string') + throws TypeError; + var R = hexColor.substring(1, 3); + var G = hexColor.substring(3, 5); + var B = hexColor.substring(5, 7); + if(R > 'FF' || G > 'FF' || B > 'FF') + throws RangeError; + return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } /** @@ -41,17 +56,34 @@ function colorsProblem(hexColor) { * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ function fibonacciProblem(n) { - // Ваше решение -} - -/** - * Транспонирует матрицу + if(isNaN(parseFloat(n)) && isFinite(n)) + throws TypeError; + if (n <= 0 || !Number.isInteger(n)) + throws RangeError; + var f = 1; + var s = 1; + for (var i = 1; i <= n; i++) { + var now = f + s; + f = s; + s = now; + } + return right; +} +/*++ * Транспонирует матрицу * @param {(Any[])[]} matrix Матрица размерности MxN * @throws {TypeError} Когда в функцию передаётся не двумерный массив * @returns {(Any[])[]} Транспонированная матрица размера NxM */ function matrixProblem(matrix) { - // Ваше решение + if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) + throws TypeError; + let tempMatr = matrix; + for (i = 0; i < matrix.length; i++) { + for (j = 0; j < matrix.length; j++){ + tempMatr[j][i] = matrix[i][j]; + } + } + return tempMatr; } /** @@ -63,7 +95,11 @@ function matrixProblem(matrix) { * @returns {String} Число n в системе счисления targetNs */ function numberSystemProblem(n, targetNs) { - // Ваше решение + if(isNaN(parseFloat(year)) && isFinite(year)) + throws TypeError; + if (targetNs<=2 || targetNs>=36) + throws RangeError; + return parseInt(n.toString, targetNs); } /** @@ -72,7 +108,8 @@ function numberSystemProblem(n, targetNs) { * @returns {Boolean} Если соответствует формату, то true, а иначе false */ function phoneProblem(phoneNumber) { - // Ваше решение + const template = /8-800-[0-9]{3}-[0-9]{2}-[0-9]{2}/; + return template.test(phoneNumber); } /** @@ -82,7 +119,16 @@ function phoneProblem(phoneNumber) { * @returns {Number} Количество улыбающихся смайликов в строке */ function smilesProblem(text) { - // Ваше решение + if(typeof(text)!=='string') + throws TypeError; + var count = 0 ; + for (var i = 0; i < text.length; i++) + { + var smile = text.substr(i, 3); + if(smile === ':-)'|| smile === '(-:') + count++; + } + return count; } /** @@ -92,7 +138,7 @@ function smilesProblem(text) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - // Ваше решение + //sds } module.exports = { From 777c6ed2bf2b89b4f96f9cb04f475581a3945227 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 09:44:56 +0500 Subject: [PATCH 02/21] test2 --- warmup.js | 100 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 41 deletions(-) diff --git a/warmup.js b/warmup.js index 8a16ef5d8..6f0143091 100644 --- a/warmup.js +++ b/warmup.js @@ -7,10 +7,10 @@ * @throws {TypeError} Когда в аргументы переданы не числа * @returns {Number} Сумма аргументов */ -function abProblem(a, b) { - if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) - throws TypeError; - return a+b; + function abProblem(a, b) { + if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) + throws TypeError; + return a+b; } /** @@ -20,14 +20,14 @@ function abProblem(a, b) { * @throws {RangeError} Когда год – отрицательное значение * @returns {Number} Век, полученный из года */ -function centuryByYearProblem(year) { - if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError; - if(year<0) - throws RangeError; - if(year%100 == 0) - return year/100; - else return year/100 + 1; + function centuryByYearProblem(year) { + if(isNaN(parseFloat(year)) && isFinite(year)) + throws TypeError; + if(year<0) + throws RangeError; + if(year%100 == 0) + return year/100; + else return year/100 + 1; } /** @@ -37,7 +37,7 @@ function centuryByYearProblem(year) { * @throws {RangeError} Когда значения цвета выходят за пределы допустимых * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ -function colorsProblem(hexColor) { + function colorsProblem(hexColor) { if(typeof hexColor !== 'string') throws TypeError; var R = hexColor.substring(1, 3); @@ -55,7 +55,7 @@ function colorsProblem(hexColor) { * @throws {RangeError} Когда положение в ряде не является целым положительным числом * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ -function fibonacciProblem(n) { + function fibonacciProblem(n) { if(isNaN(parseFloat(n)) && isFinite(n)) throws TypeError; if (n <= 0 || !Number.isInteger(n)) @@ -74,16 +74,16 @@ function fibonacciProblem(n) { * @throws {TypeError} Когда в функцию передаётся не двумерный массив * @returns {(Any[])[]} Транспонированная матрица размера NxM */ -function matrixProblem(matrix) { + function matrixProblem(matrix) { if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) throws TypeError; - let tempMatr = matrix; - for (i = 0; i < matrix.length; i++) { - for (j = 0; j < matrix.length; j++){ - tempMatr[j][i] = matrix[i][j]; - } + let tempMatr = matrix; + for (i = 0; i < matrix.length; i++) { + for (j = 0; j < matrix.length; j++){ + tempMatr[j][i] = matrix[i][j]; } - return tempMatr; + } + return tempMatr; } /** @@ -94,12 +94,12 @@ function matrixProblem(matrix) { * @throws {RangeError} Когда система счисления выходит за пределы значений [2, 36] * @returns {String} Число n в системе счисления targetNs */ -function numberSystemProblem(n, targetNs) { - if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError; - if (targetNs<=2 || targetNs>=36) - throws RangeError; - return parseInt(n.toString, targetNs); + function numberSystemProblem(n, targetNs) { + if(isNaN(parseFloat(year)) && isFinite(year)) + throws TypeError; + if (targetNs<=2 || targetNs>=36) + throws RangeError; + return parseInt(n.toString, targetNs); } /** @@ -107,7 +107,7 @@ function numberSystemProblem(n, targetNs) { * @param {String} phoneNumber Номер телефона в формате '8–800–xxx–xx–xx' * @returns {Boolean} Если соответствует формату, то true, а иначе false */ -function phoneProblem(phoneNumber) { + function phoneProblem(phoneNumber) { const template = /8-800-[0-9]{3}-[0-9]{2}-[0-9]{2}/; return template.test(phoneNumber); } @@ -118,17 +118,17 @@ function phoneProblem(phoneNumber) { * @throws {TypeError} Когда в качестве аргумента передаётся не строка * @returns {Number} Количество улыбающихся смайликов в строке */ -function smilesProblem(text) { - if(typeof(text)!=='string') - throws TypeError; - var count = 0 ; - for (var i = 0; i < text.length; i++) - { - var smile = text.substr(i, 3); - if(smile === ':-)'|| smile === '(-:') - count++; - } - return count; + function smilesProblem(text) { + if(typeof(text)!=='string') + throws TypeError; + var count = 0 ; + for (var i = 0; i < text.length; i++) + { + var smile = text.substr(i, 3); + if(smile === ':-)'|| smile === '(-:') + count++; + } + return count; } /** @@ -137,8 +137,26 @@ function smilesProblem(text) { * @param {(('x' | 'o')[])[]} field Игровое поле 3x3 завершённой игры * @returns {'x' | 'o' | 'draw'} Результат игры */ -function ticTacToeProblem(field) { - //sds + function ticTacToeProblem(field) { + if (!Array.isArray(field) || field.length !== 3) + return TypeError; + +if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) { + return field[0][0]; +} +if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) { + return field[0][2]; +} +for (var i = 0; i < 3; i++) { + if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) { + return field[i][0]; + } + if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { + return field[0][i]; + } +} +return 'draw'; +} } module.exports = { From 7f8b33359696c280c7c1266b42137fa23d1cac3d Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 09:53:04 +0500 Subject: [PATCH 03/21] test3 --- warmup.js | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/warmup.js b/warmup.js index 6f0143091..9c1884976 100644 --- a/warmup.js +++ b/warmup.js @@ -9,7 +9,7 @@ */ function abProblem(a, b) { if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) - throws TypeError; + throws 'TypeError'; return a+b; } @@ -22,9 +22,9 @@ */ function centuryByYearProblem(year) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError; + throws 'TypeError'; if(year<0) - throws RangeError; + throws 'RangeError'; if(year%100 == 0) return year/100; else return year/100 + 1; @@ -39,12 +39,12 @@ */ function colorsProblem(hexColor) { if(typeof hexColor !== 'string') - throws TypeError; + throws 'TypeError'; var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); if(R > 'FF' || G > 'FF' || B > 'FF') - throws RangeError; + throws 'RangeError'; return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } @@ -57,9 +57,9 @@ */ function fibonacciProblem(n) { if(isNaN(parseFloat(n)) && isFinite(n)) - throws TypeError; + throws 'TypeError'; if (n <= 0 || !Number.isInteger(n)) - throws RangeError; + throws 'RangeError'; var f = 1; var s = 1; for (var i = 1; i <= n; i++) { @@ -76,7 +76,7 @@ */ function matrixProblem(matrix) { if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) - throws TypeError; + throws 'TypeError'; let tempMatr = matrix; for (i = 0; i < matrix.length; i++) { for (j = 0; j < matrix.length; j++){ @@ -96,9 +96,9 @@ */ function numberSystemProblem(n, targetNs) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError; + throws 'TypeError'; if (targetNs<=2 || targetNs>=36) - throws RangeError; + throws 'RangeError'; return parseInt(n.toString, targetNs); } @@ -120,7 +120,7 @@ */ function smilesProblem(text) { if(typeof(text)!=='string') - throws TypeError; + throws 'TypeError'; var count = 0 ; for (var i = 0; i < text.length; i++) { @@ -139,21 +139,21 @@ */ function ticTacToeProblem(field) { if (!Array.isArray(field) || field.length !== 3) - return TypeError; + return 'TypeError'; -if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) { +if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) return field[0][0]; -} -if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) { + +if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) return field[0][2]; -} + for (var i = 0; i < 3; i++) { - if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) { + if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) return field[i][0]; - } - if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { + + if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) return field[0][i]; - } + } return 'draw'; } From fabdfc11afb9ff2113ba1d9a0aa204d77c410d3e Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 09:57:39 +0500 Subject: [PATCH 04/21] test --- warmup.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/warmup.js b/warmup.js index 9c1884976..954d4c4ed 100644 --- a/warmup.js +++ b/warmup.js @@ -9,7 +9,7 @@ */ function abProblem(a, b) { if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) - throws 'TypeError'; + throws TypeError(); return a+b; } @@ -22,9 +22,9 @@ */ function centuryByYearProblem(year) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws 'TypeError'; + throws TypeError(); if(year<0) - throws 'RangeError'; + throws RangeError(); if(year%100 == 0) return year/100; else return year/100 + 1; @@ -39,12 +39,12 @@ */ function colorsProblem(hexColor) { if(typeof hexColor !== 'string') - throws 'TypeError'; + throws TypeError(); var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); if(R > 'FF' || G > 'FF' || B > 'FF') - throws 'RangeError'; + throws RangeError(); return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } @@ -57,9 +57,9 @@ */ function fibonacciProblem(n) { if(isNaN(parseFloat(n)) && isFinite(n)) - throws 'TypeError'; + throws TypeError(); if (n <= 0 || !Number.isInteger(n)) - throws 'RangeError'; + throws RangeError(); var f = 1; var s = 1; for (var i = 1; i <= n; i++) { @@ -76,7 +76,7 @@ */ function matrixProblem(matrix) { if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) - throws 'TypeError'; + throws TypeError(); let tempMatr = matrix; for (i = 0; i < matrix.length; i++) { for (j = 0; j < matrix.length; j++){ @@ -96,9 +96,9 @@ */ function numberSystemProblem(n, targetNs) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws 'TypeError'; + throws TypeError(); if (targetNs<=2 || targetNs>=36) - throws 'RangeError'; + throws RangeError(); return parseInt(n.toString, targetNs); } @@ -120,7 +120,7 @@ */ function smilesProblem(text) { if(typeof(text)!=='string') - throws 'TypeError'; + throws TypeError(); var count = 0 ; for (var i = 0; i < text.length; i++) { @@ -139,7 +139,7 @@ */ function ticTacToeProblem(field) { if (!Array.isArray(field) || field.length !== 3) - return 'TypeError'; + return TypeError(); if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) return field[0][0]; From 8e5930ff6a2c47878f405c18e90f09c11891dbfd Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:02:54 +0500 Subject: [PATCH 05/21] test --- warmup.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/warmup.js b/warmup.js index 954d4c4ed..32432ed57 100644 --- a/warmup.js +++ b/warmup.js @@ -9,7 +9,7 @@ */ function abProblem(a, b) { if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) - throws TypeError(); + throw new TypeError(); return a+b; } @@ -22,9 +22,9 @@ */ function centuryByYearProblem(year) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError(); + throw new TypeError(); if(year<0) - throws RangeError(); + throw new RangeError(); if(year%100 == 0) return year/100; else return year/100 + 1; @@ -39,12 +39,12 @@ */ function colorsProblem(hexColor) { if(typeof hexColor !== 'string') - throws TypeError(); + throw new TypeError(); var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); if(R > 'FF' || G > 'FF' || B > 'FF') - throws RangeError(); + throw new RangeError(); return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } @@ -57,9 +57,9 @@ */ function fibonacciProblem(n) { if(isNaN(parseFloat(n)) && isFinite(n)) - throws TypeError(); + throw new TypeError(); if (n <= 0 || !Number.isInteger(n)) - throws RangeError(); + throw new RangeError(); var f = 1; var s = 1; for (var i = 1; i <= n; i++) { @@ -76,7 +76,7 @@ */ function matrixProblem(matrix) { if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) - throws TypeError(); + throw new TypeError(); let tempMatr = matrix; for (i = 0; i < matrix.length; i++) { for (j = 0; j < matrix.length; j++){ @@ -96,9 +96,9 @@ */ function numberSystemProblem(n, targetNs) { if(isNaN(parseFloat(year)) && isFinite(year)) - throws TypeError(); + throw new TypeError(); if (targetNs<=2 || targetNs>=36) - throws RangeError(); + throw new RangeError(); return parseInt(n.toString, targetNs); } @@ -120,7 +120,7 @@ */ function smilesProblem(text) { if(typeof(text)!=='string') - throws TypeError(); + throw new TypeError(); var count = 0 ; for (var i = 0; i < text.length; i++) { @@ -139,7 +139,7 @@ */ function ticTacToeProblem(field) { if (!Array.isArray(field) || field.length !== 3) - return TypeError(); + throw new TypeError(); if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) return field[0][0]; From 551c9deec6d9e520a0508cf37e050a85d7977e8b Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:08:04 +0500 Subject: [PATCH 06/21] test --- warmup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/warmup.js b/warmup.js index 32432ed57..db64c9000 100644 --- a/warmup.js +++ b/warmup.js @@ -157,7 +157,7 @@ for (var i = 0; i < 3; i++) { } return 'draw'; } -} + module.exports = { abProblem, From 876de0690498b4be894b84f951dc9f848e14974d Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:13:28 +0500 Subject: [PATCH 07/21] test --- warmup.js | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/warmup.js b/warmup.js index db64c9000..c6567115c 100644 --- a/warmup.js +++ b/warmup.js @@ -7,7 +7,7 @@ * @throws {TypeError} Когда в аргументы переданы не числа * @returns {Number} Сумма аргументов */ - function abProblem(a, b) { +function abProblem(a, b) { if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) throw new TypeError(); return a+b; @@ -22,11 +22,17 @@ */ function centuryByYearProblem(year) { if(isNaN(parseFloat(year)) && isFinite(year)) + { throw new TypeError(); + } if(year<0) + { throw new RangeError(); + } if(year%100 == 0) + { return year/100; + } else return year/100 + 1; } @@ -39,12 +45,16 @@ */ function colorsProblem(hexColor) { if(typeof hexColor !== 'string') + { throw new TypeError(); + } var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); if(R > 'FF' || G > 'FF' || B > 'FF') + { throw new RangeError(); + } return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } @@ -57,9 +67,12 @@ */ function fibonacciProblem(n) { if(isNaN(parseFloat(n)) && isFinite(n)) + { throw new TypeError(); - if (n <= 0 || !Number.isInteger(n)) + } + if (n <= 0 || !Number.isInteger(n)){ throw new RangeError(); + } var f = 1; var s = 1; for (var i = 1; i <= n; i++) { @@ -76,7 +89,9 @@ */ function matrixProblem(matrix) { if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) + { throw new TypeError(); + } let tempMatr = matrix; for (i = 0; i < matrix.length; i++) { for (j = 0; j < matrix.length; j++){ @@ -96,9 +111,12 @@ */ function numberSystemProblem(n, targetNs) { if(isNaN(parseFloat(year)) && isFinite(year)) + { throw new TypeError(); - if (targetNs<=2 || targetNs>=36) + } + if (targetNs<=2 || targetNs>=36) { throw new RangeError(); + } return parseInt(n.toString, targetNs); } @@ -120,7 +138,9 @@ */ function smilesProblem(text) { if(typeof(text)!=='string') + { throw new TypeError(); + } var count = 0 ; for (var i = 0; i < text.length; i++) { @@ -138,21 +158,28 @@ * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3) + if (!Array.isArray(field) || field.length !== 3) + { throw new TypeError(); + } -if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) +if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) +{ return field[0][0]; +} -if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) +if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) { return field[0][2]; +} for (var i = 0; i < 3; i++) { - if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) - return field[i][0]; + if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) { + return field[i][0]; + } - if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) + if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { return field[0][i]; + } } return 'draw'; From 1b37bdf12969b07ce8f0fe262987d3affd8b2790 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:14:51 +0500 Subject: [PATCH 08/21] test --- warmup.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/warmup.js b/warmup.js index c6567115c..d7948edcd 100644 --- a/warmup.js +++ b/warmup.js @@ -75,7 +75,7 @@ function abProblem(a, b) { } var f = 1; var s = 1; - for (var i = 1; i <= n; i++) { + for (let i = 1; i <= n; i++) { var now = f + s; f = s; s = now; @@ -93,8 +93,8 @@ function abProblem(a, b) { throw new TypeError(); } let tempMatr = matrix; - for (i = 0; i < matrix.length; i++) { - for (j = 0; j < matrix.length; j++){ + for (let i = 0; i < matrix.length; i++) { + for (let j = 0; j < matrix.length; j++){ tempMatr[j][i] = matrix[i][j]; } } From e163fc1328004a46bbd903bbd32ffd93756c8298 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:23:15 +0500 Subject: [PATCH 09/21] test --- warmup.js | 100 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/warmup.js b/warmup.js index d7948edcd..96470ce30 100644 --- a/warmup.js +++ b/warmup.js @@ -7,9 +7,11 @@ * @throws {TypeError} Когда в аргументы переданы не числа * @returns {Number} Сумма аргументов */ -function abProblem(a, b) { - if((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) + function abProblem(a, b) { + if ((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) + { throw new TypeError(); + } return a+b; } @@ -21,19 +23,19 @@ function abProblem(a, b) { * @returns {Number} Век, полученный из года */ function centuryByYearProblem(year) { - if(isNaN(parseFloat(year)) && isFinite(year)) - { + if (isNaN(parseFloat(year)) && isFinite(year)) + { throw new TypeError(); - } - if(year<0) - { - throw new RangeError(); } - if(year%100 == 0) + if(year<0) { - return year/100; - } - else return year/100 + 1; + throw new RangeError(); +} +if (year%100 == 0) +{ + return year/100; +} +else return year/100 + 1; } /** @@ -44,14 +46,14 @@ function abProblem(a, b) { * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ function colorsProblem(hexColor) { - if(typeof hexColor !== 'string') + if (typeof hexColor !== 'string') { throw new TypeError(); } var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); - if(R > 'FF' || G > 'FF' || B > 'FF') + if (R > 'FF' || G > 'FF' || B > 'FF') { throw new RangeError(); } @@ -66,7 +68,7 @@ function abProblem(a, b) { * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ function fibonacciProblem(n) { - if(isNaN(parseFloat(n)) && isFinite(n)) + if (isNaN(parseFloat(n)) && isFinite(n)) { throw new TypeError(); } @@ -88,7 +90,7 @@ function abProblem(a, b) { * @returns {(Any[])[]} Транспонированная матрица размера NxM */ function matrixProblem(matrix) { - if(!matrix.every(Array.isArray)||!Array.isArray(matrix)) + if (!matrix.every(Array.isArray)||!Array.isArray(matrix)) { throw new TypeError(); } @@ -110,10 +112,10 @@ function abProblem(a, b) { * @returns {String} Число n в системе счисления targetNs */ function numberSystemProblem(n, targetNs) { - if(isNaN(parseFloat(year)) && isFinite(year)) - { + if (isNaN(parseFloat(year)) && isFinite(year)) + { throw new TypeError(); - } + } if (targetNs<=2 || targetNs>=36) { throw new RangeError(); } @@ -137,18 +139,18 @@ function abProblem(a, b) { * @returns {Number} Количество улыбающихся смайликов в строке */ function smilesProblem(text) { - if(typeof(text)!=='string') - { - throw new TypeError(); - } - var count = 0 ; - for (var i = 0; i < text.length; i++) - { - var smile = text.substr(i, 3); - if(smile === ':-)'|| smile === '(-:') - count++; - } - return count; + if (typeof(text)!=='string') + { + throw new TypeError(); +} +var count = 0 ; +for (var i = 0; i < text.length; i++) +{ + var smile = text.substr(i, 3); + if(smile === ':-)'|| smile === '(-:') + count++; +} +return count; } /** @@ -158,31 +160,31 @@ function abProblem(a, b) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3) - { - throw new TypeError(); + if (!Array.isArray(field) || field.length !== 3) + { + throw new TypeError(); } -if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) -{ - return field[0][0]; -} + if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) + { + return field[0][0]; + } -if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) { - return field[0][2]; -} + if (field[0][2] === field[1][1] && field[1][1] === field[2][0]) { + return field[0][2]; + } -for (var i = 0; i < 3; i++) { - if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) { + for (var i = 0; i < 3; i++) { + if (field[i][0] === field[i][1] && field[i][1] === field[i][2]) { return field[i][0]; } - - if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { - return field[0][i]; + + if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { + return field[0][i]; + } + } - -} -return 'draw'; + return 'draw'; } From 5fb76369a6a190337bbb3fc1201f4cf1a6ff5d9b Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:33:04 +0500 Subject: [PATCH 10/21] fxs --- warmup.js | 105 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 47 deletions(-) diff --git a/warmup.js b/warmup.js index 96470ce30..0f12cbab7 100644 --- a/warmup.js +++ b/warmup.js @@ -7,12 +7,13 @@ * @throws {TypeError} Когда в аргументы переданы не числа * @returns {Number} Сумма аргументов */ - function abProblem(a, b) { - if ((isNaN(parseFloat(a)) && isFinite(a))||(isNaN(parseFloat(b)) && isFinite(b))) - { - throw new TypeError(); - } - return a+b; +function abProblem(a, b) { + if ((isNaN(parseFloat(a)) && isFinite(a)) || (isNaN(parseFloat(b)) && isFinite(b))) + { + throw new TypeError(); + } + + return a+b; } /** @@ -22,20 +23,22 @@ * @throws {RangeError} Когда год – отрицательное значение * @returns {Number} Век, полученный из года */ - function centuryByYearProblem(year) { - if (isNaN(parseFloat(year)) && isFinite(year)) - { - throw new TypeError(); - } - if(year<0) - { - throw new RangeError(); -} -if (year%100 == 0) -{ - return year/100; -} -else return year/100 + 1; +function centuryByYearProblem(year) { + if (isNaN(parseFloat(year)) && isFinite(year)) + { + throw new TypeError(); + } + if(year<0) + { + throw new RangeError(); + } + if (year%100 == 0) + { + + return year/100; + } + + return year/100 + 1; } /** @@ -45,7 +48,7 @@ else return year/100 + 1; * @throws {RangeError} Когда значения цвета выходят за пределы допустимых * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ - function colorsProblem(hexColor) { +function colorsProblem(hexColor) { if (typeof hexColor !== 'string') { throw new TypeError(); @@ -57,6 +60,7 @@ else return year/100 + 1; { throw new RangeError(); } + return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; } @@ -67,7 +71,7 @@ else return year/100 + 1; * @throws {RangeError} Когда положение в ряде не является целым положительным числом * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ - function fibonacciProblem(n) { +function fibonacciProblem(n) { if (isNaN(parseFloat(n)) && isFinite(n)) { throw new TypeError(); @@ -82,6 +86,7 @@ else return year/100 + 1; f = s; s = now; } + return right; } /*++ * Транспонирует матрицу @@ -89,7 +94,7 @@ else return year/100 + 1; * @throws {TypeError} Когда в функцию передаётся не двумерный массив * @returns {(Any[])[]} Транспонированная матрица размера NxM */ - function matrixProblem(matrix) { +function matrixProblem(matrix) { if (!matrix.every(Array.isArray)||!Array.isArray(matrix)) { throw new TypeError(); @@ -100,6 +105,7 @@ else return year/100 + 1; tempMatr[j][i] = matrix[i][j]; } } + return tempMatr; } @@ -111,15 +117,16 @@ else return year/100 + 1; * @throws {RangeError} Когда система счисления выходит за пределы значений [2, 36] * @returns {String} Число n в системе счисления targetNs */ - function numberSystemProblem(n, targetNs) { - if (isNaN(parseFloat(year)) && isFinite(year)) - { - throw new TypeError(); - } - if (targetNs<=2 || targetNs>=36) { - throw new RangeError(); - } - return parseInt(n.toString, targetNs); +function numberSystemProblem(n, targetNs) { + if (isNaN(parseFloat(year)) && isFinite(year)) + { + throw new TypeError(); + } + if (targetNs<=2 || targetNs>=36) { + throw new RangeError(); + } + + return parseInt(n.toString, targetNs); } /** @@ -127,8 +134,9 @@ else return year/100 + 1; * @param {String} phoneNumber Номер телефона в формате '8–800–xxx–xx–xx' * @returns {Boolean} Если соответствует формату, то true, а иначе false */ - function phoneProblem(phoneNumber) { +function phoneProblem(phoneNumber) { const template = /8-800-[0-9]{3}-[0-9]{2}-[0-9]{2}/; + return template.test(phoneNumber); } @@ -138,19 +146,21 @@ else return year/100 + 1; * @throws {TypeError} Когда в качестве аргумента передаётся не строка * @returns {Number} Количество улыбающихся смайликов в строке */ - function smilesProblem(text) { - if (typeof(text)!=='string') - { - throw new TypeError(); -} -var count = 0 ; -for (var i = 0; i < text.length; i++) -{ +function smilesProblem(text) { + if (typeof(text)!=='string') + { + throw new TypeError(); + } + var count = 0 ; + for (var i = 0; i < text.length; i++) + { var smile = text.substr(i, 3); - if(smile === ':-)'|| smile === '(-:') - count++; -} -return count; + if(smile === ':-)'|| smile === '(-:'){ + count++; + } + } + + return count; } /** @@ -159,9 +169,9 @@ return count; * @param {(('x' | 'o')[])[]} field Игровое поле 3x3 завершённой игры * @returns {'x' | 'o' | 'draw'} Результат игры */ - function ticTacToeProblem(field) { +function ticTacToeProblem(field) { if (!Array.isArray(field) || field.length !== 3) - { + { throw new TypeError(); } @@ -184,6 +194,7 @@ return count; } } + return 'draw'; } From e81bf9c8d31e2d838851eeaa1273e64656bf7a37 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:39:27 +0500 Subject: [PATCH 11/21] test --- warmup.js | 52 +++++++++++++++++++++------------------------------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/warmup.js b/warmup.js index 0f12cbab7..765f3aa65 100644 --- a/warmup.js +++ b/warmup.js @@ -13,7 +13,7 @@ function abProblem(a, b) { throw new TypeError(); } - return a+b; + return a + b; } /** @@ -24,21 +24,19 @@ function abProblem(a, b) { * @returns {Number} Век, полученный из года */ function centuryByYearProblem(year) { - if (isNaN(parseFloat(year)) && isFinite(year)) - { + if (isNaN(parseFloat(year)) && isFinite(year)){ throw new TypeError(); } - if(year<0) - { + + if (year < 0){ throw new RangeError(); } - if (year%100 == 0) - { + if (year % 100 === 0){ - return year/100; + return year / 100; } - return year/100 + 1; + return year / 100 + 1; } /** @@ -49,19 +47,17 @@ function centuryByYearProblem(year) { * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ function colorsProblem(hexColor) { - if (typeof hexColor !== 'string') - { + if (typeof hexColor !== 'string'){ throw new TypeError(); } var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); - if (R > 'FF' || G > 'FF' || B > 'FF') - { - throw new RangeError(); + if (R > 'FF' || G > 'FF' || B > 'FF'){ + throw new RangeError(); } - return '('+parseInt(R, 16)+', '+parseInt(G, 16)+', '+parseInt(B, 16)+')'; + return '(' + parseInt(R, 16) + ', ' + parseInt(G, 16) + ', ' + parseInt(B, 16) + ')'; } /** @@ -72,12 +68,12 @@ function colorsProblem(hexColor) { * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ function fibonacciProblem(n) { - if (isNaN(parseFloat(n)) && isFinite(n)) - { + if (isNaN(parseFloat(n)) && isFinite(n)){ + throw new TypeError(); } if (n <= 0 || !Number.isInteger(n)){ - throw new RangeError(); + throw new RangeError(); } var f = 1; var s = 1; @@ -95,8 +91,7 @@ function fibonacciProblem(n) { * @returns {(Any[])[]} Транспонированная матрица размера NxM */ function matrixProblem(matrix) { - if (!matrix.every(Array.isArray)||!Array.isArray(matrix)) - { + if (!matrix.every(Array.isArray)||!Array.isArray(matrix)){ throw new TypeError(); } let tempMatr = matrix; @@ -118,8 +113,7 @@ function matrixProblem(matrix) { * @returns {String} Число n в системе счисления targetNs */ function numberSystemProblem(n, targetNs) { - if (isNaN(parseFloat(year)) && isFinite(year)) - { + if (isNaN(parseFloat(year)) && isFinite(year)){ throw new TypeError(); } if (targetNs<=2 || targetNs>=36) { @@ -147,13 +141,11 @@ function phoneProblem(phoneNumber) { * @returns {Number} Количество улыбающихся смайликов в строке */ function smilesProblem(text) { - if (typeof(text)!=='string') - { + if (typeof(text)!=='string'){ throw new TypeError(); } var count = 0 ; - for (var i = 0; i < text.length; i++) - { + for (var i = 0; i < text.length; i++){ var smile = text.substr(i, 3); if(smile === ':-)'|| smile === '(-:'){ count++; @@ -170,13 +162,11 @@ function smilesProblem(text) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3) - { + if (!Array.isArray(field) || field.length !== 3){ throw new TypeError(); } - if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) - { + if (field[0][0] === field[1][1] && field[1][1] === field[2][2]){ return field[0][0]; } @@ -194,7 +184,7 @@ function ticTacToeProblem(field) { } } - + return 'draw'; } From 20d62f78a3f7634cc502c1699d4a99a0aaca95b1 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:42:33 +0500 Subject: [PATCH 12/21] test --- warmup.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/warmup.js b/warmup.js index 765f3aa65..d2649376e 100644 --- a/warmup.js +++ b/warmup.js @@ -8,8 +8,7 @@ * @returns {Number} Сумма аргументов */ function abProblem(a, b) { - if ((isNaN(parseFloat(a)) && isFinite(a)) || (isNaN(parseFloat(b)) && isFinite(b))) - { + if ((isNaN(parseFloat(a)) && isFinite(a)) || (isNaN(parseFloat(b)) && isFinite(b))){ throw new TypeError(); } @@ -26,14 +25,16 @@ function abProblem(a, b) { function centuryByYearProblem(year) { if (isNaN(parseFloat(year)) && isFinite(year)){ throw new TypeError(); + } if (year < 0){ throw new RangeError(); + } if (year % 100 === 0){ - return year / 100; + } return year / 100 + 1; @@ -49,12 +50,14 @@ function centuryByYearProblem(year) { function colorsProblem(hexColor) { if (typeof hexColor !== 'string'){ throw new TypeError(); + } var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); if (R > 'FF' || G > 'FF' || B > 'FF'){ throw new RangeError(); + } return '(' + parseInt(R, 16) + ', ' + parseInt(G, 16) + ', ' + parseInt(B, 16) + ')'; @@ -83,9 +86,9 @@ function fibonacciProblem(n) { s = now; } - return right; + return s; } -/*++ * Транспонирует матрицу +/* Транспонирует матрицу * @param {(Any[])[]} matrix Матрица размерности MxN * @throws {TypeError} Когда в функцию передаётся не двумерный массив * @returns {(Any[])[]} Транспонированная матрица размера NxM @@ -117,7 +120,7 @@ function numberSystemProblem(n, targetNs) { throw new TypeError(); } if (targetNs<=2 || targetNs>=36) { - throw new RangeError(); + throw new RangeError(); } return parseInt(n.toString, targetNs); From 2f67cb7eba6aa08f3c50247e9138ca6428b5775f Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:48:50 +0500 Subject: [PATCH 13/21] test --- warmup.js | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/warmup.js b/warmup.js index d2649376e..3362289fd 100644 --- a/warmup.js +++ b/warmup.js @@ -8,7 +8,7 @@ * @returns {Number} Сумма аргументов */ function abProblem(a, b) { - if ((isNaN(parseFloat(a)) && isFinite(a)) || (isNaN(parseFloat(b)) && isFinite(b))){ + if ((isNaN(parseFloat(a)) && isFinite(a)) || (isNaN(parseFloat(b)) && isFinite(b))) { throw new TypeError(); } @@ -23,16 +23,16 @@ function abProblem(a, b) { * @returns {Number} Век, полученный из года */ function centuryByYearProblem(year) { - if (isNaN(parseFloat(year)) && isFinite(year)){ + if (isNaN(parseFloat(year)) && isFinite(year)) { throw new TypeError(); } - if (year < 0){ - throw new RangeError(); + if (year < 0) { + throw new RangeError(); } - if (year % 100 === 0){ + if (year % 100 === 0) { return year / 100; } @@ -48,16 +48,16 @@ function centuryByYearProblem(year) { * @returns {String} Цвет в формате RGB, например, '(255, 255, 255)' */ function colorsProblem(hexColor) { - if (typeof hexColor !== 'string'){ - throw new TypeError(); + if (typeof hexColor !== 'string') { + throw new TypeError(); } var R = hexColor.substring(1, 3); var G = hexColor.substring(3, 5); var B = hexColor.substring(5, 7); - if (R > 'FF' || G > 'FF' || B > 'FF'){ - throw new RangeError(); - + if (R > 'FF' || G > 'FF' || B > 'FF') { + throw new RangeError(); + } return '(' + parseInt(R, 16) + ', ' + parseInt(G, 16) + ', ' + parseInt(B, 16) + ')'; @@ -71,24 +71,25 @@ function colorsProblem(hexColor) { * @returns {Number} Число Фибоначчи, находящееся на n-ой позиции */ function fibonacciProblem(n) { - if (isNaN(parseFloat(n)) && isFinite(n)){ - - throw new TypeError(); + if (isNaN(parseFloat(n)) && isFinite(n)) { + + throw new TypeError(); } - if (n <= 0 || !Number.isInteger(n)){ - throw new RangeError(); + if (n <= 0 || !Number.isInteger(n)) { + throw new RangeError(); } var f = 1; var s = 1; for (let i = 1; i <= n; i++) { - var now = f + s; - f = s; - s = now; + var now = f + s; + f = s; + s = now; } return s; -} -/* Транспонирует матрицу +} +/** + * Транспонирует матрицу * @param {(Any[])[]} matrix Матрица размерности MxN * @throws {TypeError} Когда в функцию передаётся не двумерный массив * @returns {(Any[])[]} Транспонированная матрица размера NxM From 756e81a5383d3188a1586095914a0d900f1b33f2 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 10:57:02 +0500 Subject: [PATCH 14/21] test --- warmup.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/warmup.js b/warmup.js index 3362289fd..141d09228 100644 --- a/warmup.js +++ b/warmup.js @@ -72,7 +72,6 @@ function colorsProblem(hexColor) { */ function fibonacciProblem(n) { if (isNaN(parseFloat(n)) && isFinite(n)) { - throw new TypeError(); } if (n <= 0 || !Number.isInteger(n)) { @@ -95,12 +94,12 @@ function fibonacciProblem(n) { * @returns {(Any[])[]} Транспонированная матрица размера NxM */ function matrixProblem(matrix) { - if (!matrix.every(Array.isArray)||!Array.isArray(matrix)){ + if (!matrix.every(Array.isArray) || !Array.isArray(matrix)) { throw new TypeError(); } let tempMatr = matrix; for (let i = 0; i < matrix.length; i++) { - for (let j = 0; j < matrix.length; j++){ + for (let j = 0; j < matrix.length; j++) { tempMatr[j][i] = matrix[i][j]; } } @@ -117,10 +116,10 @@ function matrixProblem(matrix) { * @returns {String} Число n в системе счисления targetNs */ function numberSystemProblem(n, targetNs) { - if (isNaN(parseFloat(year)) && isFinite(year)){ + if (isNaN(parseFloat(n)) && isFinite(n)) { throw new TypeError(); } - if (targetNs<=2 || targetNs>=36) { + if (targetNs <= 2 || targetNs >= 36) { throw new RangeError(); } @@ -145,13 +144,13 @@ function phoneProblem(phoneNumber) { * @returns {Number} Количество улыбающихся смайликов в строке */ function smilesProblem(text) { - if (typeof(text)!=='string'){ + if (typeof(text) !== 'string') { throw new TypeError(); } var count = 0 ; - for (var i = 0; i < text.length; i++){ + for (var i = 0; i < text.length; i++) { var smile = text.substr(i, 3); - if(smile === ':-)'|| smile === '(-:'){ + if(smile === ':-)' || smile === '(-:') { count++; } } @@ -166,11 +165,11 @@ function smilesProblem(text) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3){ + if (!Array.isArray(field) || field.length !== 3) { throw new TypeError(); } - if (field[0][0] === field[1][1] && field[1][1] === field[2][2]){ + if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) { return field[0][0]; } From 57ab17193f602d4cc3710dfe834ea43eb36df446 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 11:03:39 +0500 Subject: [PATCH 15/21] fxs --- warmup.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/warmup.js b/warmup.js index 141d09228..80235d33a 100644 --- a/warmup.js +++ b/warmup.js @@ -87,6 +87,7 @@ function fibonacciProblem(n) { return s; } + /** * Транспонирует матрицу * @param {(Any[])[]} matrix Матрица размерности MxN @@ -95,7 +96,7 @@ function fibonacciProblem(n) { */ function matrixProblem(matrix) { if (!matrix.every(Array.isArray) || !Array.isArray(matrix)) { - throw new TypeError(); + throw new TypeError(); } let tempMatr = matrix; for (let i = 0; i < matrix.length; i++) { @@ -122,7 +123,7 @@ function numberSystemProblem(n, targetNs) { if (targetNs <= 2 || targetNs >= 36) { throw new RangeError(); } - + return parseInt(n.toString, targetNs); } @@ -149,10 +150,10 @@ function smilesProblem(text) { } var count = 0 ; for (var i = 0; i < text.length; i++) { - var smile = text.substr(i, 3); - if(smile === ':-)' || smile === '(-:') { - count++; - } + var smile = text.substr(i, 3); + if (smile === ':-)' || smile === '(-:') { + count++; + } } return count; @@ -165,7 +166,7 @@ function smilesProblem(text) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3) { + if (!Array.isArray(field) || field.length !== 3) { throw new TypeError(); } From 09f24fd56fa383b0e2f842ac3f4fbb3e733a1549 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 11:08:54 +0500 Subject: [PATCH 16/21] test --- warmup.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/warmup.js b/warmup.js index 80235d33a..546441960 100644 --- a/warmup.js +++ b/warmup.js @@ -148,7 +148,7 @@ function smilesProblem(text) { if (typeof(text) !== 'string') { throw new TypeError(); } - var count = 0 ; + var count = 0; for (var i = 0; i < text.length; i++) { var smile = text.substr(i, 3); if (smile === ':-)' || smile === '(-:') { @@ -186,7 +186,6 @@ function ticTacToeProblem(field) { if (field[0][i] === field[1][i] && field[1][i] === field[2][i]) { return field[0][i]; } - } return 'draw'; From 0a8ec610a72b4e4161cafe2872411c897632a587 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 11:12:11 +0500 Subject: [PATCH 17/21] test --- warmup.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/warmup.js b/warmup.js index 546441960..ee37c0262 100644 --- a/warmup.js +++ b/warmup.js @@ -166,10 +166,6 @@ function smilesProblem(text) { * @returns {'x' | 'o' | 'draw'} Результат игры */ function ticTacToeProblem(field) { - if (!Array.isArray(field) || field.length !== 3) { - throw new TypeError(); - } - if (field[0][0] === field[1][1] && field[1][1] === field[2][2]) { return field[0][0]; } From bea2e02f3f58c8b6f483c3c203229154ed504acb Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 11:27:12 +0500 Subject: [PATCH 18/21] test --- warmup.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/warmup.js b/warmup.js index ee37c0262..a235c3aa8 100644 --- a/warmup.js +++ b/warmup.js @@ -37,7 +37,7 @@ function centuryByYearProblem(year) { } - return year / 100 + 1; + return Math.floor(Number(year / 100) + 1; } /** @@ -79,7 +79,7 @@ function fibonacciProblem(n) { } var f = 1; var s = 1; - for (let i = 1; i <= n; i++) { + for (let i = 3; i <= n; i++) { var now = f + s; f = s; s = now; @@ -98,8 +98,9 @@ function matrixProblem(matrix) { if (!matrix.every(Array.isArray) || !Array.isArray(matrix)) { throw new TypeError(); } - let tempMatr = matrix; + let tempMatr = []; for (let i = 0; i < matrix.length; i++) { + tempMatr[i] = []; for (let j = 0; j < matrix.length; j++) { tempMatr[j][i] = matrix[i][j]; } From 123f0e92f9578eeb3a4d224f4ef5880b9c67ecce Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 11:29:20 +0500 Subject: [PATCH 19/21] test3 --- warmup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/warmup.js b/warmup.js index a235c3aa8..91ef8816f 100644 --- a/warmup.js +++ b/warmup.js @@ -37,7 +37,7 @@ function centuryByYearProblem(year) { } - return Math.floor(Number(year / 100) + 1; + return Math.floor(Number(year / 100)) + 1; } /** From 17297b06b0a6693a48c0cbd673e1f1ee76df7246 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 20:09:42 +0500 Subject: [PATCH 20/21] test --- warmup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/warmup.js b/warmup.js index 91ef8816f..e65c2b763 100644 --- a/warmup.js +++ b/warmup.js @@ -121,7 +121,7 @@ function numberSystemProblem(n, targetNs) { if (isNaN(parseFloat(n)) && isFinite(n)) { throw new TypeError(); } - if (targetNs <= 2 || targetNs >= 36) { + if (targetNs < 2 || targetNs > 36) { throw new RangeError(); } From 7a4df4f5d896ec953b43a94e75c504aff2723826 Mon Sep 17 00:00:00 2001 From: Vasya Date: Tue, 23 Oct 2018 20:15:39 +0500 Subject: [PATCH 21/21] test --- warmup.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/warmup.js b/warmup.js index e65c2b763..455bf3174 100644 --- a/warmup.js +++ b/warmup.js @@ -101,8 +101,8 @@ function matrixProblem(matrix) { let tempMatr = []; for (let i = 0; i < matrix.length; i++) { tempMatr[i] = []; - for (let j = 0; j < matrix.length; j++) { - tempMatr[j][i] = matrix[i][j]; + for (let j = 0; j < matrix[0].length; j++) { + tempMatr[i][j] = matrix[j][i]; } } @@ -125,7 +125,7 @@ function numberSystemProblem(n, targetNs) { throw new RangeError(); } - return parseInt(n.toString, targetNs); + return n.toString(targetNs); } /**