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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy