Skip to content

Commit 122ca80

Browse files
authored
Add files via upload
1 parent d4a8940 commit 122ca80

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed

best_approach/Calculating_ncr.cpp

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
/*
2+
written by Pankaj Kumar.
3+
country:-INDIA
4+
*/
5+
#include <bits/stdc++.h>
6+
#include <ext/pb_ds/assoc_container.hpp>
7+
#include <ext/pb_ds/tree_policy.hpp>
8+
using namespace std;
9+
using namespace __gnu_pbds;
10+
typedef long long ll ;
11+
typedef vector<ll> vl;
12+
#define speed cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(0);
13+
/* Abbrevations */
14+
#define ff first
15+
#define ss second
16+
#define mp make_pair
17+
#define line cout<<endl;
18+
#define pb push_back
19+
#define Endl "\n"
20+
// loops
21+
#define forin(arr,n) for(ll i=0;i<n;i++) cin>>arr[i];
22+
// Some print
23+
#define no cout<<"NO"<<endl;
24+
#define yes cout<<"YES"<<endl;
25+
// sort
26+
#define all(V) (V).begin(),(V).end()
27+
#define srt(V) sort(all(V))
28+
#define srtGreat(V) sort(all(V),greater<ll>())
29+
// some extra
30+
#define printv(v) for(ll i=0;i<ll(v.size());i++){cout<<v[i]<<" ";} line;
31+
#define precision(x) cout<<fixed<<setprecision(x);
32+
#define sz(V) ll(V.size())
33+
// template
34+
template <typename T>
35+
T mymax(T x,T y)
36+
{
37+
return (x>y)?x:y;
38+
}
39+
// function
40+
void kickstart()
41+
{
42+
ll test;
43+
cin>>test;
44+
for(ll i=1;i<=test;i++)
45+
{
46+
cout<<"Case #"<<i<<": ";
47+
}
48+
}
49+
ll power(ll x,ll y,ll mod)
50+
{
51+
ll res=1;
52+
// x=x%mod;
53+
while(y>0)
54+
{
55+
if(y%2==1)
56+
{
57+
res*=x;
58+
// res=res%mod;
59+
}
60+
y/=2; x*=x; // x=x%mod;
61+
}
62+
return res;
63+
}
64+
ll str_to_num(string s)
65+
{
66+
return stoi(s);
67+
}
68+
69+
string num_to_str(ll num)
70+
{
71+
return to_string(num);
72+
}
73+
// datatype definination
74+
#define ordered_set tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update>
75+
class Point
76+
{
77+
public:
78+
ll x;
79+
ll y;
80+
ll z;
81+
ll getsum()
82+
{
83+
return x+y+z;
84+
}
85+
};
86+
/* ascii value
87+
A=65,Z=90,a=97,z=122
88+
*/
89+
/* --------------------MAIN PROGRAM----------------------------*/
90+
// to run ctrl+b
91+
92+
ll solve()
93+
{
94+
vector< vector<ll> > binom(60, vector<ll>(64));
95+
binom[0][0] = 1;
96+
for (int i = 1; i < 60; ++i)
97+
{
98+
binom[i][0] = 1;
99+
for (int j = 1; j < 60; ++j)
100+
{
101+
binom[i][j] = binom[i - 1][j - 1] + binom[i - 1][j];
102+
}
103+
}
104+
for (int i = 1; i < 60; ++i)
105+
{
106+
for (int j = 1; j < 60; ++j)
107+
{
108+
cout<<"ncr of "<<i<<" and "<<j<<" is "<<binom[i][j]<<endl;
109+
}
110+
}
111+
return 0;
112+
}
113+
114+
int main()
115+
{
116+
speed;
117+
/* #ifndef ONLINE_JUDGE
118+
freopen("input.txt","r",stdin);
119+
freopen("output.txt","w",stdout);
120+
#endif */
121+
ll TestCase=1;
122+
cin>>TestCase;
123+
while(TestCase--)
124+
{
125+
solve();
126+
}
127+
}
128+
/* -----------------END OF PROGRAM --------------------*/
129+
/*
130+
* stuff you should look before submission
131+
* constraint and time limit
132+
* int overflow
133+
* special test case (n=0||n=1||n=2)
134+
* don't get stuck on one approach if you get wrong answer
135+
*/

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