write a progam to display the factors of a given number and
disply how many prime numbers are there?
Answer Posted / kracekumar
to check a number is prime or not ,it is enough to check till square root(floor) of the number is divisible or not.
#include<stdio.h>
#include<math.h>
/*
WHILE COMPILING IN LINUX USE gcc -lm -o factor factor.c and execute ./factor
*/
void isprime(int factor)
{
/*This function will check the given factor of the no is prime or not if so it will print the number factor as (prime)*/
int inner_loop,sqrt_of_factor;
sqrt_of_factor=(int)sqrt((double)factor);//in sqrt function will take float or double argument
if(factor==2)
printf("(prime)");
else
{/*To find out the no is prime or not you need to find out square root and from 2 to square root of the no if the no is not divisble by the no it is called as prime no*/
for(inner_loop=2;inner_loop<=sqrt_of_factor;++inner_loop)
{
if(factor%inner_loop==0)//if it divisble it exit the looop
break;
}
if(inner_loop>sqrt_of_factor)
/*best part is this checking ,if the no(factor) is prime it should be exited the loop with the loop variable value greater than condition varibale value */
printf("(prime)");
}
}
void factor(int no)
{
int start,no_by_2=no/2;
/*no_by_2 is used because factor of a no will be in the range 1 to half the number */
printf("\n factors of %d are %d",no,1);
for(start=2;start<no_by_2;++start)
{
if(no%start==0)
{
printf("\t %d",start);
isprime(start);//checking the factor is prime or not
}
}
printf("\t %d",no);
isprime(no);
}
int main()
{
system("clear");//work only in LINUX
int no;
printf("\n enter the integer no for which factor is to be found:");
scanf("%d",&no);
factor(no);
printf("\n \n=================================================\n");
return 0;
}
Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
What is the difference between far and near ?
Can we access array using pointer in c language?
What is #define used for in c?
Is there a way to switch on strings?
What is the method to save data in stack data structure type?
What is %g in c?
Explain which of the following operators is incorrect and why? ( >=, <=, <>, ==)
What are the uses of null pointers?
What is meant by initialization and how we initialize a variable?
Where are local variables stored in c?
Is that possible to store 32768 in an int data type variable?
will u please send me the placement papers to my mail???????????????????
how many errors in c explain deply
5 Write an Algorithm to find the maximum and minimum items in a set of ānā element.
What are the loops in c?