蓝桥杯备考:算术基本定理之分解质因数
·
我们先来看看我们小学分解质因数的方法

我们可以用试除法来进行质因数分解
这里我们要知道,我们质因数分解,最多只能出现一个大于根号x的数,如果有两个的话,乘出来的值就比原数大了,我们只需要用2到根号x试除,就行了,最后如果还有余数,就把它单独成一个质因子了
比如26就分解成2*13
那我们怎么用代码实现呢?我们开一个cnt数组存储每个质因数的个数
然后进行试除法
void deprime(int x)
{
for(int i = 2;i<=n/i;i++)
{
if(x%i == 0)
{
cnt[i]++;
x/=i;
}
}
if(x>1) cnt[x]++;
}
更多推荐


所有评论(0)