-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
71 lines (60 loc) · 1.84 KB
/
main.js
File metadata and controls
71 lines (60 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
* Выводит массив городов через запятую, ставя в конце точку.
* @param {Array} [cityList] - массив городов
* @return {String}
*/
function formatCity(cityList) {
return cityList.join(", ") + '.'
}
/**
* Округляет число до пятерок
* @param {Number} [num] - округляемое число
* @return {Number}
*/
function roundingToFIve(num) {
num += "" // делаем строкой
let left = num, right
const index = num.indexOf('.')
if (index != -1) {
right = Math.round( num.slice(index) )
left = +num.slice(0, index) + +right
left += ''
}
const g = left.slice(-1)
if (g < 3) {
return +`${left.slice(0, -1)}0`
} else if (g < 8) {
return +`${left.slice(0, -1)}5`
} else {
return +`${+left.slice(0, -1) + 1}0`
}
}
/**
* Выводит слово "компьютер" в падеже, соответствующем указанному количеству "num"
* @param {Number} [num] - число к котому будет "склоняться"
* @return {String}
**/
function declension(num) {
const text = "компьютер"
if (num >= 5 && num < 20) return `${num} ${text}ов`
let n = (num + '').slice(-1) // берем последнюю цифру
if (n == 1) {
return `${num} ${text}`
} else if (n > 1 && n < 5) {
return `${num} ${text}а`
} else {
return `${num} ${text}ов`
}
}
/**
* Проверяет является ли число простым
* @param {Number} [num] - проверяет является ли число простым
* @return {Boolean}
*/
function checkSimpleNum(num) {
let iteration = num < 9 ? num : 9
while(--iteration > 1) {
if (num % iteration === 0) return false
}
return true
}