质数分解,每一个大于1的正整数都能表示为质数的积,这种分解是唯一的,例如60=2*2*3*5

 

/*
质数分解,每一个大于1的正整数都能表示为质数的积,这种分解是唯一的,例如60=2*2*3*5
*/
#include <stdio.h>
int func(int n){
    int i;
    for(i=2;i<=n/2;i++)
        if(n%i==0)
            return false;
    return true;
}
int main()
{
    int n,i;
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
        if(func(i)){
            while(n%i==0){
                printf("%d",i);
                n/=i;
                if(n!=1)
                    printf("*");
            }
        }
    }
    printf("\n");
    return 0;
}

 

posted @ 2019-11-27 19:02  dreamy_java  阅读(625)  评论(0编辑  收藏  举报