蓝桥杯算法训练 素因子去重

原题链接: http://lx.lanqiao.cn/problem.page?gpid=T513
题目意思是找到n的所有素因子,再把这些素因子相乘
1000 = 2*2*2*5*5*5 p = 2*5 =10
我们直接从2到根号n,找到一个因子即除尽
#include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long long ll; int main() { ll n; ll p = 1; scanf("%lld",&n); int cnt=0; int a[100]; for(int i=2;i*i<=n;i++) { if(n%i==0) { while(n%i==0) n/=i; p*=i; } } if(n>1) p*=n; printf("%lld\n",p); }

猜你喜欢

转载自www.cnblogs.com/shuaiboy/p/10351306.html