View Code of Problem 91

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int su(int x){//判断素数
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0){
            return 0;
        }
    }
    return 1;
}

int main()
{
    int a,i;
    int num[100],k=0;
    scanf("%d",&a);
    int tmp=a;
    while(a>1){
        for(i=2;i<=a;i++){//
            if(su(i)==1&&a%i==0){
                num[k++]=i;
                a/=i;
                break;//
            }
        }
    }
    printf("%d=",tmp);
    for(i=0;i<k;i++){
        printf("%d",num[i]);
        if(i!=k-1){
            printf("*");
        }
    }
	return 0;
}

Double click to view unformatted code.


Back to problem 91