首页 > 编程语言 > 详细

算法训练——素因子去重

时间:2020-01-30 20:28:50      阅读:97      评论:0      收藏:0      [点我收藏+]

 

//素因子去重
#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;
} 

  

算法训练——素因子去重

原文:https://www.cnblogs.com/Hqx-curiosity/p/12243687.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!