Skip to content

Commit 700081d

Browse files
authored
Add files via upload
1 parent 05bc7c4 commit 700081d

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

best_approach/factorial_upto_250.cpp

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
/*
2+
written by Pankaj Kumar.
3+
country:-INDIA
4+
*/
5+
#include <bits/stdc++.h>
6+
using namespace std;
7+
typedef long long ll ;
8+
typedef set<pair<int,int>> spi;
9+
typedef set<pair<ll,ll>> spl;
10+
typedef vector<pair<int,int>> vpi;
11+
typedef vector<int> vi;
12+
typedef vector<ll> vl;
13+
typedef vector<bool> vb;
14+
typedef vector<char> vc;
15+
typedef vector<pair<ll,ll>> vpl;
16+
typedef vector<string> vs;
17+
typedef map<int,int>mi;
18+
typedef map<ll,ll> ml;
19+
typedef set<string> ss;
20+
typedef set<char>sc;
21+
typedef set<int> si;
22+
typedef set<ll> sl;
23+
#define pan cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(0);
24+
// define values.
25+
#define mod 1000000007
26+
#define phi 1.618
27+
/* Bit-Stuff */
28+
#define get_set_bits(a) (__builtin_popcount(a))
29+
#define get_set_bitsll(a) ( __builtin_popcountll(a))
30+
#define get_trail_zero(a) (__builtin_ctz(a))
31+
#define get_lead_zero(a) (__builtin_clz(a))
32+
#define get_parity(a) (__builtin_parity(a))
33+
/* Abbrevations */
34+
#define ff first
35+
#define ss second
36+
#define mp make_pair
37+
#define line cout<<endl;
38+
#define pb push_back
39+
#define Endl "\n"
40+
// loops
41+
#define loop(i,start,end) for(ll i=ll(start);i<ll(end);i++)
42+
#define loop0(num) for(ll i=0;i<ll(num);i++)
43+
#define forin(arr,n) for(ll i=0;i<n;i++) cin>>arr[i];
44+
// Some print
45+
#define no cout<<"NO"<<endl;
46+
#define yes cout<<"YES"<<endl;
47+
#define cc ll test;cin>>test;while(test--)
48+
// sort
49+
#define all(V) (V).begin(),(V).end()
50+
#define srt(V) sort(all(V))
51+
#define srtGreat(V) sort(all(V),greater<ll>())
52+
// function
53+
54+
ll power(ll x,ll y)
55+
{
56+
ll res=1;
57+
while(y>0)
58+
{
59+
if(y%2==1)res*=x;
60+
y/=2; x*=x;
61+
}
62+
return res;
63+
}
64+
/* ascii value
65+
A=65,Z=90,a=97,z=122
66+
*/
67+
/* -----------------------------------------------------------------------------------*/
68+
ll multiply(ll x,ll res[],ll res_size)
69+
{
70+
ll carry=0;
71+
loop(i,0,res_size)
72+
{
73+
ll prod=res[i]*x+carry;
74+
res[i]=prod%10;
75+
carry=prod/10;
76+
}
77+
while(carry)
78+
{
79+
res[res_size]=carry%10;
80+
carry=carry/10;
81+
res_size++;
82+
}
83+
return res_size;
84+
}
85+
86+
ll factorial(ll n)
87+
{
88+
ll res[500];
89+
res[0]=1;
90+
ll res_size=1;
91+
loop(i,2,n+1)
92+
{
93+
res_size=multiply(i,res,res_size);
94+
}
95+
for(ll i=res_size-1;i>=0;i--)
96+
cout<<res[i];
97+
return 0;
98+
}
99+
100+
int main()
101+
{
102+
//freopen("input.txt"a, "r", stdin);
103+
pan;
104+
ll n;
105+
cin>>n;
106+
cout<<"factorial of given number is : ";
107+
factorial(n);
108+
line;
109+
}

0 commit comments

Comments
 (0)