0

Hello everyone...

I have 2 questions and it would be great if you guys can help me on these.

I wrote a factorial program and it works already.

The problem is when it comes to higher outputs.

For example:

11 P 5 = 55440 // this works so far

but

13 P 5 = 154440 // but my output is 47917

Im using already long instead of integer.

Can someone help me out on this?

Second thing is, how do i avoid that someone will enter letters? :-)

Btw my code is:

```
#include <iostream>
using namespace std;
long factorial (long n)
{
if (n > 1)
return (n * factorial (n-1));
else
return (1);
}
int main ()
{
cout<< " WELCOME TO THE 2 BASED FACTORIAL CALCULATOR " << endl << endl;
start:;
long number;
cout << "Please type a number: ";
cin >> number;
long number2;
cout << endl << "Please type a 2nd number: ";
cin >> number2;
long number3;
number3 = factorial(number) / factorial(number - number2);
{
if (number < number2)
{
cout<< "Please let the first number be bigger than the second number." << endl << endl;
goto start;
}
if (number >= number2)
{
cout << endl << number << " P " << number2 << " = " << number3 << endl << endl;
}
}
goto start;
return 0;
}
```