galois.is_smooth

galois.is_smooth(n, B)

Determines if the positive integer \(n\) is \(B\)-smooth, i.e. all its prime factors satisfy \(p \le B\).

The \(2\)-smooth numbers are the powers of \(2\). The \(5\)-smooth numbers are known as regular numbers. The \(7\)-smooth numbers are known as humble numbers or highly composite numbers.

Parameters
  • n (int) – A positive integer.

  • B (int) – The smoothness bound.

Returns

True if \(n\) is \(B\)-smooth.

Return type

bool

Examples

In [404]: galois.is_smooth(2**10, 2)
Out[404]: True

In [405]: galois.is_smooth(10, 5)
Out[405]: True

In [406]: galois.is_smooth(12, 5)
Out[406]: True

In [407]: galois.is_smooth(60**2, 5)
Out[407]: True