-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathA19.js
More file actions
55 lines (51 loc) · 1.17 KB
/
A19.js
File metadata and controls
55 lines (51 loc) · 1.17 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
const num = [1,2,3,4,5,6];
const operator = [2,1,1,1];
const n = 6
const data = [1,2,3,4,5,6];
let [add,sub,mul,div] = [2,1,1,1];
let min_value = Infinity;
let max_value = -Infinity;
dfs(1,data[0]);
if(max_value===-0) max_value=0;
if(min_value===-0) min_value=0;
console.log(max_value);
console.log(min_value);
function devide(a,b){
let mul = 1;
if(a<0) mul = -1;
return Math.floor(Math.abs(a)/b) * mul;
}
function dfs(i,now){
// console.log(add,sub,mul,div)
if(i===n){
min_value = Math.min(now,min_value);
max_value = Math.max(now,max_value);
console.log("끝")
}else{
if(add>0){
add--;
console.log("+");
dfs(i+1,now+data[i]);
add++;
}
if(sub>0){
sub--;
console.log("-");
dfs(i+1,now-data[i]);
sub++;
}
if(mul>0){
mul--;
console.log("*");
dfs(i+1,now*data[i]);
mul++;
}
if(div>0){
div--;
console.log("/");
dfs(i+1,devide(now,data[i]));
div++;
}
}
console.log(add,sub,mul,div)
}