diff --git a/LargeFactorial.cpp b/LargeFactorial.cpp new file mode 100644 index 0000000..bc9b26c --- /dev/null +++ b/LargeFactorial.cpp @@ -0,0 +1,37 @@ +#include +using namespace std; + +vector fact(int n) +{ + vector ans; + ans.push_back(1); + for(int i = 2; i <= n; i++) + { + int carry = 0; + for(int j = ans.size() - 1; j >= 0; j--) + { + int prod = ans[j] * i + carry; + ans[j] = prod % 10; + carry = prod / 10; + } + while(carry) + { + ans.insert(ans.begin(), carry%10); + carry = carry/10; + } + } + return ans; +} + +int main() +{ + int n; + cout << "Enter a number" << endl; + cin >> n; + vector ans; + ans = fact(n); + for(int i = 0; i < ans.size(); i++) + { + cout << ans[i]; + } +} \ No newline at end of file