质数因子

来源:互联网 发布:linux 启动oracle实例 编辑:程序博客网 时间:2024/06/10 09:07
#include<bits/stdc++.h>using namespace std;bool isPrime(long n){    if(n==1)return false;    for(long i=2; i*i<=n; i++)        if(n%i==0)return false;    return true;}int main(){    long a;    while(cin>>a)    {        for(long i=2; i<=a; i++)        {            if(a%i==0&&isPrime(i))            {                cout<<i<<" ";                a/=i;                i--;            }        }    }    return 0;}//降低时间复杂度#include<bits/stdc++.h>using namespace std;bool isPrime(long n){    if(n==1)return false;    for(long i=2; i*i<=n; i++)        if(n%i==0)return false;    return true;}int main(){    long a;    while(cin>>a)    {        if(isPrime(a))        {            cout<<a<<" ";            continue;        }        for(long i=2; i*i<=a; i++)        {            if(a%i==0&&isPrime(i))            {                cout<<i<<" ";                a/=i;                i--;            }        }        if(isPrime(a))        {            cout<<a<<" ";        }    }    return 0;}

原创粉丝点击