Scheduler
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
utils
math.cpp
Go to the documentation of this file.
1
10
#include "
math.h
"
11
12
#include <cmath>
13
#include <cassert>
14
#include <cstddef>
15
16
namespace
Utils
17
{
18
19
int
lcm
(std::vector<int> array)
20
{
21
size_t
size = array.size();
22
int
result = 0;
23
std::vector<int> array2 = array;
24
int
min;
25
while
(1)
26
{
27
min = array2[0];
28
bool
allEqual =
true
;
29
for
(
size_t
i
= 1;
i
< size;
i
++)
30
{
31
if
(array2[
i
] != array2[
i
-1])
32
allEqual =
false
;
33
if
(array2[
i
] < min)
34
min = array2[
i
];
35
}
36
if
(allEqual)
37
{
38
result = array2[0];
39
break
;
40
}
41
for
(
size_t
i
= 0;
i
< size;
i
++)
42
{
43
if
(array2[
i
] == min)
44
array2[
i
] += array[
i
];
45
}
46
}
47
return
result;
48
}
49
50
int
gcd
(std::vector<int>
/*array*/
)
51
{
52
/*TODO....*/
53
assert(
false
);
54
return
0;
55
}
56
57
58
}
59
math.h
generatePbs.i
i
Definition:
generatePbs.py:6
Utils::lcm
int lcm(std::vector< int > array)
Definition:
math.cpp:19
Utils
Definition:
context.h:16
Utils::gcd
int gcd(std::vector< int >)
Definition:
math.cpp:50
Generated on Sun Nov 26 2017 17:01:36 for Scheduler by
1.8.11