শুক্রবার, ১৯ মে, ২০১৭

UVA 1266 - Magic Square

#include<bits/stdc++.h>
using namespace std;
main()
{
    long n,cs=1;
    while(cin>>n)
    {
        if(cs!=1)
        printf("\n");
        long j,i,k=1,k1=n/2+1,a=1,ar[20][20]={0},cnt=1,cnt1=0,kk,sum=0;
        kk=n;
        while(kk!=0)
        {
            kk/=10;
            cnt1++;
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                ar[k][k1]=cnt++;
                k--;
                k1++;
                if(k==0)
                {
                    k=n;
                }
                if(k1==n+1)
                    k1=1;
            }
            k+=2;
            if(k>n)
                k=k-n;
            k1--;
        }
        ar[2][n]=ar[1][n]+1;
        for(i=1;i<=n;i++)
        {
            sum+=ar[1][i];
        }
        printf("n=%ld, sum=%ld\n",n,sum);
        if(n>=1&&n<=3)
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                printf(" %ld",ar[i][j]);
            }
            cout<<endl;
        }
        else if(n>=4&&n<=9)
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                printf(" %2ld",ar[i][j]);
            }
            cout<<endl;
        }
        else
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                printf(" %3ld",ar[i][j]);
            }
            cout<<endl;
        }
        cs++;
    }
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...