Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int a[513][513],n;
- void pattern(int a[][513],int n,int sus,int st,int jos,int dr)
- {
- if(n>=1)
- {
- int mi=(sus+jos)/2,mj=(st+dr)/2;
- a[mi][mj]=n;
- pattern(a,n-1,sus,st,mi-1,mj-1); /// Stanga-Sus
- pattern(a,n-1,sus,mj+1,mi-1,dr); /// Dreapta-Sus
- pattern(a,n-1,mi+1,st,jos,mj-1); /// Stanga-Jos
- pattern(a,n-1,mi+1,mj+1,jos,dr); /// Dreapta-Jos
- }
- }
- void scrie(int a[][513],int n)
- {
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=n;j++)
- cout<<a[i][j]<<' ';
- cout<<'\n';
- }
- }
- int main()
- {
- int n,p;
- cin>>n;
- p=1<<n; /// Calculam p=2^n prin deplasari la stanga (1=2^0)
- --p; /// Scad 1
- pattern(a,n,1,1,p,p);
- scrie(a,p);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement