/*******************************************
** This program reads an integer from the
** user and prints out its factorization
** into irreducibles.  You need to figure
** out how to implement the function
** firstFactor, which takes an integer n,
** where n > 1, and returns the smallest
** factor of n, i.e. the smallest
** integer greater than 1 that divides n
** evenly.  Specifically, you need to add
** the definition of the function firstFactor.
*******************************************/
#include <iostream>
using namespace std;
 
/*******************************************
** firstFactor FUNCTION PROTOTYPE
*******************************************/
int firstFactor(int);
 
/*******************************************
** MAIN FUNCTION
*******************************************/
int main()
{
  // Get integer n, n > 1, from user
  int n;
  cout << "Enter an integer larger than 1: ";
  cin >> n;
 
  // Print out factorization
  cout << "The factorization of " << n << " is ";
  while(n > 1)
  {
    // get & print next irreducible factor
    int f = firstFactor(n);
    cout << '(' << f << ')';
    n = n / f;
  }
  cout << endl;
 
  return 0;
}

 
/*******************************************
** firstFactor FUNCTION DEFINITION goes below these lines
*******************************************/

 


syntax highlighted by Code2HTML, v. 0.9.1