View Code of Problem 91

#include<stdio.h>
#include<math.h>
int isprime(int x)
{
	int i;
	int flag=1;
	if(x==1||x==0)
	{
		flag = 0;
	}
	else if(x==2)
	{
		flag = 1;
	}
	else
	{
		for(i=2;i<=sqrt(x);++i)
		{
			if(x%i==0)
			flag = 0;
			break;
		}
	}
	return flag;
}
int main()
{
	int x,j=0,k=0;
	int a[10000],b[100];
	int multi = 1;
	scanf("%d",&x);
	int n = x;
	int i,m=0;
	int f,temp;
	for(i=2;i<=x;++i)
	{
		if( isprime(i) && x%i==0 )
		{
			a[j++] = i;//Çó³öxËùÓÐËØÊýÒò×Ó 
		}
	}
/*	while(a[k]!='\0')
	{
		printf("%d  ",a[k]);
		++k;
	}*/
	for(k=0;a[k]!='\0';++k) 
	{
		while(x%a[k]==0&&x>=a[k])
		{
			
			x/=a[k];
			//printf("%d \n",a[k]);
			temp=a[k];
			b[m] = temp;
			m++; 
		}
	}
	 printf("%d=",n);
   for(m=0;b[m]!='\0';++m)
   { 	    
		if(b[m+1]!='\0')
	     printf("%d*",b[m]);
	   else if(b[m+1] == '\0')
	      printf("%d",b[m]);
	} 
	
	return 0;	
}

Double click to view unformatted code.


Back to problem 91