#include<iostream>
using namespace std;

/* Calcul factorielle avec for et while */

int main(){
  int n, i, fact, fact_av;
  
  cout << "Entier n ? ";
  cin >> n;
  fact = 1;
  for (i = 2; i <= n; i++){
    fact_av = fact;
    fact *= i;
    if (fact/fact_av != i){
      cout << "Entier trop grand !" << endl;
      break;
    }
  }
  if (i > n){
    cout << n << "! = " << fact << " (for)" << endl;
    fact = 1; i = 2;
    while (i <= n){
      fact *= i;
      i++;
    }
    cout << n << "! = " << fact << " (while)" << endl;
  }
  return 0;
}
  
