算法训练——素因子去重

Posted hqx-curiosity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法训练——素因子去重相关的知识,希望对你有一定的参考价值。

 

//素因子去重
#include<stdio.h>
int num[4000000] = {0}; 
int main(){
	long long n,ans; 
	scanf("%d",&n);
	if(n==2){
		printf("%d",n);
		return 0;
	}
	for(int k=2;k<=n;){	//从最小的质因数开始 
		if(k==n){
			num[k] = 1;
			break;
		}
		else if(n%k == 0){
			num[k] = 1;
			n = n/k;
		}
		else
			k++;
	}
	for(int i=2;i<=n;i++){
		if(num[i] == 1)
			ans *= i;
	}
	printf("%d",ans);
	return 0;
} 

  

以上是关于算法训练——素因子去重的主要内容,如果未能解决你的问题,请参考以下文章

算法训练——素因子去重

2021.12.10--《21-22-1蓝桥训练8》

hdu 6287 口算训练(可持久化线段树+线性筛)

最大素因子算法优化

随机素数测试(Miller_Rabin算法)和求整数素因子(Pollard_rho算法)

大素数判断和素因子分解(miller-rabin,Pollard_rho算法)