codescracker
c++

C++ Program to Find and Print Factors of a Number



« C++ Tutorial C++ Example »

This article provides some programs in C++ that find factors of a given number. For example, if user enters 10 as input, then the program prints its factors, that will be 1, 2, 5, 10. These are the list of programs covered in this article:

Find Factors of a Number using while Loop

The question is, write a program in C++ that receives a number from user as input and prints all its factors as output. The answer to this question is the program given below:

#include<iostream>

using namespace std;
int main()
{
   int num, i=1;
   cout<<"Enter a Number: ";
   cin>>num;
   cout<<"\nFactors of "<<num<<" are:\n";
   while(i<=num)
   {
      if(num%i==0)
         cout<<i<<" ";
      i++;
   }
   cout<<endl;
   return 0;
}

The snapshot given below shows the initial output produced by above C++ program on finding factors of a given number:

c++ program find factors of number

Now supply the input say 100 as number and press ENTER key to find and print all its factors like shown in the snapshot given below:

find factors of given number c++

When user enters the number say 100, it gets initialized to num. Therefore num=100. Now the dry run of following block of code, from above program:

   while(i<=num)
   {
      if(num%i==0)
         cout<<i<<" ";
      i++;
   }

goes like (with initial value of i as 1, and num=100):

Find Factors of a Number using for Loop

Let's create the same program as of previous program, but using for loop this time.

#include<iostream>

using namespace std;
int main()
{
   int num, i;
   cout<<"Enter a Number: ";
   cin>>num;
   cout<<"\nFactors of "<<num<<" are:\n";
   for(i=1; i<=num; i++)
   {
      if(num%i==0)
         cout<<i<<" ";
   }
   cout<<endl;
   return 0;
}

Find Factors of a Number using Function

This program is created using a user-defined function named fact(). This function takes given number as its argument and do the same job of finding and printing the factors of passed argument.

#include<iostream>

using namespace std;
void fact(int);
int main()
{
   int num;
   cout<<"Enter a Number: ";
   cin>>num;
   cout<<"\nFactors of "<<num<<" are:\n";
   fact(num);
   cout<<endl;
   return 0;
}
void fact(int n)
{
   int i=1;
   while(i<=n)
   {
      if(n%i==0)
         cout<<i<<" ";
      i++;
   }
}

Find Factors of a Number using Class

This is the last program of this article, created using class, an object-oriented feature of C++.

#include<iostream>
using namespace std;

class CodesCracker
{
   private:
      int i;
   public:
      void fact(int n)
      {
         for(i=1; i<=n; i++)
         {
            if(n%i==0)
               cout<<i<<" ";
         }
      }
};

int main()
{
   CodesCracker obj;
   int num;
   cout<<"Enter a Number: ";
   cin>>num;
   cout<<"\nFactors of "<<num<<" are:\n";
   obj.fact(num);
   cout<<endl;
   return 0;
}

C++ Online Test


« C++ Tutorial C++ Example »



© Copyright 2021. All Rights Reserved.

CodesCracker