求质因子模板
Posted shulin~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求质因子模板相关的知识,希望对你有一定的参考价值。
n是质数<=>n没有小于等于sqrt(n)的素因子
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=1e5+2; 5 ll n; 6 int ans[maxn]; 7 int main() 8 { 9 while(~scanf("%I64d",&n)) 10 { 11 int cnt=0; 12 for(int i=2;i*i<=n;i++) 13 { 14 if(n%i==0) 15 { 16 ans[cnt++]=i; 17 while(n%i==0) 18 { 19 n/=i; 20 } 21 } 22 } 23 if(n>1) ans[cnt++]=n; 24 for(int i=0;i<cnt;i++) 25 { 26 cout<<ans[i]<<" "; 27 } 28 cout<<endl; 29 } 30 return 0; 31 }
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=1e5+2; 5 bool isprime[maxn]; 6 vector<int> a[maxn]; 7 int main() 8 { 9 memset(isprime,true,sizeof(isprime)); 10 for(int i=2;i<maxn;i++) 11 { 12 if(!vis[i]) continue; 13 a[i].push_back(i); 14 for(int j=2*i;j<maxn;j+=i) 15 { 16 a[j].push_back(i); 17 vis[j]=false; 18 } 19 } 20 return 0; 21 }
以上是关于求质因子模板的主要内容,如果未能解决你的问题,请参考以下文章