光滑數

光滑数（smooth number），或译脆数，是一个可以约数分解为小素数乘积的正整数。光滑数一词是是伦纳德·阿德曼所提出。光滑数在以约数分解为基础的密码学中扮演重要角色。

定义

若一正整数的素因数均不大于B，此整数即为B-光滑数。例如1620的约数分解为2² × 3⁴ × 5，素因数均不大于5，因此1620是5-光滑数。
10和12的约数分解分别为2 × 5和2² × 3，二者素因数也都不大于5，因此二者均是是5-光滑数，虽然其素因数未包括不大于5的所有素数，但仍然可以是5-光滑数。
5-光滑数常称为正规数或汉明数（Hamming numbers）。7-光滑数有时会称为“谦虚数”或“高合成数”，不过后者会和以约数个数来定义的高合成数混淆。
B-光滑数的B不一定要是素数，例如上述举例的10和12不但是5-光滑数，也是6-光滑数（素因数都不大于6）。一般而言会选择B为素数的B-光滑数，但B也可以是合数。一正整数为B-光滑数当且仅当正整数为p-光滑数，且p是小于等于B的最大素数。

应用

有些快速傅里叶变换算法中会用到光滑数，例如库利－图基快速傅里叶变换算法会将问题一直分解为较小的问题，其大小为原问题大小的约数，若原问题大小是B原问题大小，原问题可以分解为许多很小的问题，此情形有有快速的算法，若大小是较大的素数，就要应用像是Chirp-Z 转换之类效率较差的算法。
5-光滑数〈或称为正规数〉在巴比伦数学中有重要的角色，在音乐理论中也很重要。有一个函数编程语言的问题就是要产生正规数。
密码学中也有应用光滑数。虽然大部分的密码学都会用到密码分析（已知最快的约数分解算法），但VSH杂凑函数利用光滑数来取得可证安全加密散列函数。