In [2]:
%matplotlib inline
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('bmh')

In [66]:
# find best "N"

def biggest_factors_up(num):
    biggest = 0
    second_biggest = 0
    i = int(np.sqrt(num))  
    for i in range(i, num + 1):
        print("i:", i)
        print("num modulo i:", num%i)
        if num%i == 0:
            second_biggest = i
            biggest = num/i
            break
    if second_biggest * biggest != num: 
            print("Bug in the biggest_factors function! Stop!")
            return
    return biggest, second_biggest

def biggest_factors_down(num):
    biggest = 0
    second_biggest = 0
    i = int(np.sqrt(num))  
    for i in range(i, 0, -1):
        print("i:", i)
        print("num modulo i:", num%i)
        if num%i == 0:
            second_biggest = i
            biggest = num/i
            break
    if second_biggest * biggest != num: 
            print("Bug in the biggest_factors function! Stop!")
            return
    return biggest, second_biggest

In [67]:
biggest_factors_up(131)


i: 11
num modulo i: 10
i: 12
num modulo i: 11
i: 13
num modulo i: 1
i: 14
num modulo i: 5
i: 15
num modulo i: 11
i: 16
num modulo i: 3
i: 17
num modulo i: 12
i: 18
num modulo i: 5
i: 19
num modulo i: 17
i: 20
num modulo i: 11
i: 21
num modulo i: 5
i: 22
num modulo i: 21
i: 23
num modulo i: 16
i: 24
num modulo i: 11
i: 25
num modulo i: 6
i: 26
num modulo i: 1
i: 27
num modulo i: 23
i: 28
num modulo i: 19
i: 29
num modulo i: 15
i: 30
num modulo i: 11
i: 31
num modulo i: 7
i: 32
num modulo i: 3
i: 33
num modulo i: 32
i: 34
num modulo i: 29
i: 35
num modulo i: 26
i: 36
num modulo i: 23
i: 37
num modulo i: 20
i: 38
num modulo i: 17
i: 39
num modulo i: 14
i: 40
num modulo i: 11
i: 41
num modulo i: 8
i: 42
num modulo i: 5
i: 43
num modulo i: 2
i: 44
num modulo i: 43
i: 45
num modulo i: 41
i: 46
num modulo i: 39
i: 47
num modulo i: 37
i: 48
num modulo i: 35
i: 49
num modulo i: 33
i: 50
num modulo i: 31
i: 51
num modulo i: 29
i: 52
num modulo i: 27
i: 53
num modulo i: 25
i: 54
num modulo i: 23
i: 55
num modulo i: 21
i: 56
num modulo i: 19
i: 57
num modulo i: 17
i: 58
num modulo i: 15
i: 59
num modulo i: 13
i: 60
num modulo i: 11
i: 61
num modulo i: 9
i: 62
num modulo i: 7
i: 63
num modulo i: 5
i: 64
num modulo i: 3
i: 65
num modulo i: 1
i: 66
num modulo i: 65
i: 67
num modulo i: 64
i: 68
num modulo i: 63
i: 69
num modulo i: 62
i: 70
num modulo i: 61
i: 71
num modulo i: 60
i: 72
num modulo i: 59
i: 73
num modulo i: 58
i: 74
num modulo i: 57
i: 75
num modulo i: 56
i: 76
num modulo i: 55
i: 77
num modulo i: 54
i: 78
num modulo i: 53
i: 79
num modulo i: 52
i: 80
num modulo i: 51
i: 81
num modulo i: 50
i: 82
num modulo i: 49
i: 83
num modulo i: 48
i: 84
num modulo i: 47
i: 85
num modulo i: 46
i: 86
num modulo i: 45
i: 87
num modulo i: 44
i: 88
num modulo i: 43
i: 89
num modulo i: 42
i: 90
num modulo i: 41
i: 91
num modulo i: 40
i: 92
num modulo i: 39
i: 93
num modulo i: 38
i: 94
num modulo i: 37
i: 95
num modulo i: 36
i: 96
num modulo i: 35
i: 97
num modulo i: 34
i: 98
num modulo i: 33
i: 99
num modulo i: 32
i: 100
num modulo i: 31
i: 101
num modulo i: 30
i: 102
num modulo i: 29
i: 103
num modulo i: 28
i: 104
num modulo i: 27
i: 105
num modulo i: 26
i: 106
num modulo i: 25
i: 107
num modulo i: 24
i: 108
num modulo i: 23
i: 109
num modulo i: 22
i: 110
num modulo i: 21
i: 111
num modulo i: 20
i: 112
num modulo i: 19
i: 113
num modulo i: 18
i: 114
num modulo i: 17
i: 115
num modulo i: 16
i: 116
num modulo i: 15
i: 117
num modulo i: 14
i: 118
num modulo i: 13
i: 119
num modulo i: 12
i: 120
num modulo i: 11
i: 121
num modulo i: 10
i: 122
num modulo i: 9
i: 123
num modulo i: 8
i: 124
num modulo i: 7
i: 125
num modulo i: 6
i: 126
num modulo i: 5
i: 127
num modulo i: 4
i: 128
num modulo i: 3
i: 129
num modulo i: 2
i: 130
num modulo i: 1
i: 131
num modulo i: 0
Out[67]:
(1.0, 131)

In [69]:
biggest_factors_down(1754)


i: 41
num modulo i: 32
i: 40
num modulo i: 34
i: 39
num modulo i: 38
i: 38
num modulo i: 6
i: 37
num modulo i: 15
i: 36
num modulo i: 26
i: 35
num modulo i: 4
i: 34
num modulo i: 20
i: 33
num modulo i: 5
i: 32
num modulo i: 26
i: 31
num modulo i: 18
i: 30
num modulo i: 14
i: 29
num modulo i: 14
i: 28
num modulo i: 18
i: 27
num modulo i: 26
i: 26
num modulo i: 12
i: 25
num modulo i: 4
i: 24
num modulo i: 2
i: 23
num modulo i: 6
i: 22
num modulo i: 16
i: 21
num modulo i: 11
i: 20
num modulo i: 14
i: 19
num modulo i: 6
i: 18
num modulo i: 8
i: 17
num modulo i: 3
i: 16
num modulo i: 10
i: 15
num modulo i: 14
i: 14
num modulo i: 4
i: 13
num modulo i: 12
i: 12
num modulo i: 2
i: 11
num modulo i: 5
i: 10
num modulo i: 4
i: 9
num modulo i: 8
i: 8
num modulo i: 2
i: 7
num modulo i: 4
i: 6
num modulo i: 2
i: 5
num modulo i: 4
i: 4
num modulo i: 2
i: 3
num modulo i: 2
i: 2
num modulo i: 0
Out[69]:
(877.0, 2)

In [62]:
for i in range( 129, 131):
    print(i)


129
130