-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmugung.js
More file actions
50 lines (45 loc) ยท 1.29 KB
/
Copy pathmugung.js
File metadata and controls
50 lines (45 loc) ยท 1.29 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
import mugunghwa from './mugunghwa.js'
import infinite from 'infinite.js'
export default class mugung extends mugunghwa {
/**
* ๋ณตํฉ ๋ค์ง์๋ฅผ 10์ง์๋ก ๋ณํํฉ๋๋ค.
*/
static decimalBase(maxMatrix, indexMatrix) {
let indexDecimal = infinite('0')
for (let i = indexMatrix.length - 1; i >= 0; i--) {
let tempIndex = infinite(indexMatrix[i])
for (let m = i + 1; m < indexMatrix.length; m++)
tempIndex = tempIndex * infinite(maxMatrix[m])
indexDecimal = indexDecimal + tempIndex
}
return indexDecimal.toFixed(0)
}
/**
* 10์ง์๋ฅผ ๋ณตํฉ ๋ค์ง์๋ก ๋ณํํฉ๋๋ค.
*/
static multipleBase(maxMatrix, indexDecimal) {
let temp = infinite(indexDecimal)
let result = []
for (let i = maxMatrix.length - 1; i >= 0; i--) {
let up = infinite(infinite(temp / infinite(maxMatrix[i])).floor())
let down = temp - infinite(maxMatrix[i]) * up
temp = up
result.push(down.toFixed(0))
}
if (temp !== 0) result.push(temp.toFixed(0))
result.reverse()
return result
}
static expectLength (index) {
let maxLength = Number(1)
for (;;) {
let fullCase = infinite('72').pow(maxLength)
if (infinite((infinite(index) + infinite('1'))) <= fullCase) break
maxLength++
}
return maxLength
}
static infinite(indexString){
return infinite(indexString)
}
}