I wrote the code for finding the NOC of the specified numbers, but it does not fit into the time frame. Please tell me how to speed it up.

```
b, n = map (int, input (). Split ())
m = max (b, n)
While True:
IF m% b == 0 and m% n == 0:
Print (M)
Break
ELSE:
m + = 1
```

Time to work program 5 sec.

## Answer 1, Authority 100%

found an interesting example on the Internet.

As mentioned on the wiki:

```
import math
N = 14.
M = 21.
Print ((n * m) // Math.gcd (N, M)) # GCD - Greatest Common Devisor
```

`gcd () `

appeared only in Python version 3.5

## Answer 2, Authority 57%

After a long, non-road-minded discussion –

Here you have a solution from scratch.

```
def gcd (a, b):
While B:
a, b = b, a% b
Return A.
DEF MCD (N, M):
RETURN (N / GCD (N, M)) * M
Print (int (mcd (n, m)))
```

when

```
n = 14
M = 21.
```

Answer:

```
42
```

when

```
n = 147
M = 214.
```

answer

31458

when

```
n = 14783678656
M = 21456735976.
```

answer

```
39651186209477312512
```

Working hours – instantly. Check.

p.s.

Math.gcd () Implemented in the Standard Library Starting with Python 3.5

version

## Answer 3

in `python 3.9 `

Added function for finding NOK:

```
import math
Print (Math.lcm (14, 21))
```

You can also use `NUMPY `

:

```
import numpy as np
Print (NP.LCM (14, 21))
```