Skip to content

Commit 450adfa

Browse files
authored
Add files via upload
1 parent f7b327b commit 450adfa

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

josephus o(n).cpp

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#include<bits/stdc++.h>
2+
3+
#define PI acos(-1)
4+
#define min3(a,b,c) min(a,min(b,c))
5+
#define max3(a,b,c) max(a,max(b,c))
6+
#define READ(f) freopen(f, "r", stdin)
7+
#define WRITE(f) freopen(f, "w", stdout)
8+
#define lli long long int
9+
#define ull unsigned long long int
10+
#define pii pair < int, int>
11+
#define pll pair < ll, ll>
12+
#define sc scanf
13+
#define scin(x) sc("%d",&(x))
14+
#define scln(x) sc("%lld",&(x))
15+
#define pf printf
16+
#define veci vector<int>
17+
#define vecl vector<long long int>
18+
#define vecp vector< pair<int,int> >
19+
#define pb push_back
20+
#define inf 1<<30
21+
#define mp make_pair
22+
#define ss stringstream
23+
#define all(v) v.begin(), v.end()
24+
#define mem(x,y) memset(x,y,sizeof(x))
25+
#define FastRead ios_base::sync_with_stdio(0);cin.tie(0)
26+
#define M 1000000007
27+
//int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
28+
//long power(long int x, long int y){ int temp; if( y == 0) return 1; temp = power(x, y/2); if (y%2 == 0) return temp*temp; else return x*temp*temp; }
29+
/*lli gcd(lli x,lli y)
30+
{
31+
if(x==0) return y;
32+
return gcd(y%x,x);
33+
}*/
34+
using namespace std;
35+
int j ( int n , int k )
36+
{
37+
if(n==1 ) return 1;
38+
return ( j(n - 1 , k ) + k-1 ) % n + 1 ;
39+
}
40+
41+
int main()
42+
{
43+
int n , k ;
44+
cin >> n >> k ;
45+
46+
cout << "The last person to stay alive is at position : " << j ( n , k ) << endl;
47+
48+
49+
return 0;
50+
}

0 commit comments

Comments
 (0)