Sunday, November 28, 2010

Write a function to obtain the prime factors of this number. For example, prime factors of 24 are 2, 2, 2 and 3, whereas prime factors of 35 are 5 an

#include

// The following Function detects a Prime number.
int prime(int num)
{
int i,ifprime;
for(i=2;i<=num-1;i++)
{
if(num%i==0)
{
ifprime=0;
}
else
ifprime=1;
}
return (ifprime);
}


// The following function prints the prime factors of a number.
int prime_factor(int num)
{
int factor,ifprime;
for(factor=2;factor<=num;)
{
prime(factor);// so that the factors are only prime and nothing else.
if(ifprime)
{
if(num%factor==0)// dividing by all the prime numbers less than the number itself.
{
printf("%d\n",factor);
num=num/factor;
continue;
}
else
{
factor++;//this cannot be made a part of the for loop
}

}

}


}

main()
{
int n;
printf("Enter the number:");
scanf("%d",&n);

prime_factor(n);
}

****************************OR**********************************

#include
void primefactors(int n)
{
int i,j,count=0;
for (i=1;i<=n;i++)
{
if (n%i==0){


for (count=0,j=1;j<=i;j++)
{
if (i%j==0)
++count;
}
if (count==2)
printf("%d\n",i);
}
}
}
main()
{
int n;
printf("Enter the number ");
scanf("%d",&n);
primefactors(n);
}