求解质因数

来源:互联网 发布:域名是啥意思 编辑:程序博客网 时间:2024/06/10 16:11

在数论里,某一正整数的质因子指能整除该数的质数整数。但是求解质数并不需要先枚举所有的质数,下面这样就行:

#include <stdio.h>using namespace std;int primefactor[100000];int enumprimefactor(int n){ //求出n的所有质因子,存在数组中    int temp=n,num=0;    for(int i=2;i*i<=n;i++){        if(temp%i==0)            primefactor[num++]=i;        while(temp%i==0)            temp/=i;    }    if(temp>1)        primefactor[num++]=temp;    return num;}int main(){    int n;    scanf("%d",&n);    int num = enumprimefactor(n);    for(int i=0;i<num;i++)        printf("%d ",primefactor[i]);    return 0;}

质因数相关的题目有:
TOJ 3990.I guess the gift is a bag! II

0 0
原创粉丝点击