write a progam to display the factors of a given number and
disply how many prime numbers are there?
Answers were Sorted based on User's Feedback
Answer / sreejesh1987
//This code displays prime factors only
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,n,x,flag=0,d,count=0;
clrscr();
printf("\tPRIME CHECK\n");
printf("Enter a no:");
scanf("%d",&n);
for(j=2;j<n,n%j!=0;j++)
if(n-1==j)
{
printf("\n\t%d is a prime",n);
flag=1;
}
if(!flag)
{
printf("\nNumber %d is not a prime",n);
printf("\nIts factors are:\n\t");
x=2;
while(n!=1)
{
while(n%x==0)
{
n=n/x;
printf("%d ",x);
count++;
}
x++;
}
printf("\nNumber of factors:%d",count);
}
getch();
}
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / 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 |
What are near, far and huge pointers?
0 Answers Hexaware, Thomson Reuters, Virtusa,
What is break statement?
Explain how do you list files in a directory?
write a program to print calender using for loop.
main() { printf(5+"Vidyarthi Computers"); }
Can you tell me how to check whether a linked list is circular?
I need previous papers of CSC.......plz help out by posting them.......
Explain with the aid of an example why arrays of structures don’t provide an efficient representation when it comes to adding and deleting records internal to the array.
Name the language in which the compiler of "c" in written?
There are 21 people in a room. They have to form groups of 3 people each. How many combinations are possible? Write a C program to print the same.
What are pragmas and what are they good for?
What does it mean when a pointer is used in an if statement?