File tree Expand file tree Collapse file tree 3 files changed +23
-13
lines changed Expand file tree Collapse file tree 3 files changed +23
-13
lines changed Original file line number Diff line number Diff line change 13
13
14
14
DEFAULT_ARG = 9
15
15
16
+ ### SECTION SEPARATOR ###
16
17
17
18
def fannkuch (nb : int ) -> int :
18
19
n : int64 = int64 (nb )
19
- count : Array [int64 ] = Array [int64 ](nb )
20
+ ### SECTION SEPARATOR ###
21
+ count : Array [int64 ] = Array [int64 ](n )
20
22
max_flips : int64 = 0
21
23
m : int64 = n - 1
22
24
r : int64 = n
23
- perm1 : Array [int64 ] = Array [int64 ](nb )
24
- perm : Array [int64 ] = Array [int64 ](nb )
25
+ perm1 : Array [int64 ] = Array [int64 ](n )
26
+ perm : Array [int64 ] = Array [int64 ](n )
25
27
i : int64 = 0
26
28
while i < n :
27
29
count [i ] = i + 1
28
30
perm1 [i ] = i
29
31
perm [i ] = i
30
32
i += 1
31
- perm0 : Array [int64 ] = Array [int64 ](nb )
33
+ ### SECTION SEPARATOR ###
34
+ perm0 : Array [int64 ] = Array [int64 ](n )
32
35
33
36
while 1 :
34
37
while r != 1 :
@@ -72,6 +75,8 @@ def fannkuch(nb: int) -> int:
72
75
return box (max_flips )
73
76
return 0
74
77
78
+ ### SECTION SEPARATOR ###
79
+
75
80
if __name__ == "__main__" :
76
81
num_iterations = 1
77
82
if len (sys .argv ) > 1 :
@@ -81,9 +86,7 @@ def fannkuch(nb: int) -> int:
81
86
82
87
for _ in range (num_iterations ):
83
88
res = fannkuch (DEFAULT_ARG )
84
-
89
+ assert res == 30
85
90
end_time = time .time ()
86
91
runtime = end_time - start_time
87
- print (runtime )
88
-
89
- # assert res == 30
92
+ print (runtime / num_iterations )
Original file line number Diff line number Diff line change 13
13
14
14
DEFAULT_ARG = 9
15
15
16
+ ### SECTION SEPARATOR ###
16
17
17
18
def fannkuch (n : int ) -> int :
19
+ ### SECTION SEPARATOR ###
18
20
count : List [int ] = list (range (1 , n + 1 ))
19
21
max_flips : int = 0
20
22
m : int = n - 1
21
23
r : int = n
22
24
perm1 : List [int ] = list (range (n ))
23
25
perm : List [int ] = list (range (n ))
26
+ ### SECTION SEPARATOR ###
24
27
perm1_ins : Callable [[int , int ], None ] = perm1 .insert
25
28
perm1_pop : Callable [[int ], int ] = perm1 .pop
26
29
@@ -51,6 +54,8 @@ def fannkuch(n: int) -> int:
51
54
return max_flips
52
55
return 0
53
56
57
+ ### SECTION SEPARATOR ###
58
+
54
59
if __name__ == "__main__" :
55
60
num_iterations = 1
56
61
if len (sys .argv ) > 1 :
@@ -59,9 +64,7 @@ def fannkuch(n: int) -> int:
59
64
start_time = time .time ()
60
65
for _ in range (num_iterations ):
61
66
res = fannkuch (DEFAULT_ARG )
62
-
67
+ assert res == 30
63
68
end_time = time .time ()
64
69
runtime = end_time - start_time
65
- print (runtime )
66
-
67
- # assert res == 30
70
+ print (runtime / num_iterations )
Original file line number Diff line number Diff line change 9
9
10
10
DEFAULT_ARG = 9
11
11
12
+ ### SECTION SEPARATOR ###
12
13
13
14
def fannkuch (n ):
15
+ ### SECTION SEPARATOR ###
14
16
count = list (range (1 , n + 1 ))
15
17
max_flips = 0
16
18
m = n - 1
17
19
r = n
18
20
perm1 = list (range (n ))
19
21
perm = list (range (n ))
22
+ ### SECTION SEPARATOR ###
20
23
perm1_ins = perm1 .insert
21
24
perm1_pop = perm1 .pop
22
25
@@ -47,6 +50,7 @@ def fannkuch(n):
47
50
return max_flips
48
51
return 0
49
52
53
+ ### SECTION SEPARATOR ###
50
54
51
55
if __name__ == "__main__" :
52
56
import sys
@@ -61,4 +65,4 @@ def fannkuch(n):
61
65
assert res == 30
62
66
end_time = time .time ()
63
67
runtime = end_time - start_time
64
- print (runtime )
68
+ print (runtime / num_iterations )
You can’t perform that action at this time.
0 commit comments