数论:唯一分解定理及应用(附两道例题)

数论:唯一分解定理及应用(附两道例题)

前几天了解了唯一分解性定理,看了之后感觉定理内容挺简单的,不知道这个定理能干什么,算是比较巧吧,这几天一下遇到了两道需要用唯一分解性定理的题目。

唯一分解定理内容

详细请见百度百科(此处只做简单介绍):百度百科:惟一分解性定理 整数唯一分解定理亦称为算术基本定理,是数论的重要定理之一。该定理断言:任何一个大于1的整数n都可以分解成若干个素因数的乘积,如果不计各个素因数的顺序,那么这种分解是唯一的,即若n > 1,则有:

其中p1 < p2 < … < pk且皆为素数ai(i = 1,2,…,k)皆为正整数。

两道例题

一:阶乘约数

题目描述: 算是一道比较简单的题吧,当时写这一题的时候卡了一下,事后发现题并不难,是一道很模板的题。 思路分析: 将100!分解为若干个素数的乘积,记录每一个素数的种类和个数,以2^3为例有四种选择:指数为0,为1,为2为3,即每个素数因子的选择个数是:其幂次 + 1 直接上代码吧:

#include

#include

using namespace std;

map m;//键、值分别为素数、素数的个数

void solve(int n)

{

for(int i = 2; i <= n; i++)

{

while(n % i == 0)

{

m[i]++;

n /= i;//分解干净

}

}

}

int main()

{

相关推荐

Apple Music 各区的特点和选择
365bet网球

Apple Music 各区的特点和选择

📅 08-01 👁️ 7380
哪些借款平台好通过?汇总5个良心贷款平台推荐
约彩365官方下载安装

哪些借款平台好通过?汇总5个良心贷款平台推荐

📅 06-30 👁️ 7525
如何吹内扣发型 5分钟吹出完美气质
约彩365官方下载安装

如何吹内扣发型 5分钟吹出完美气质

📅 08-08 👁️ 4525