Uva 256 Solution

#include<bits/stdc++.h>
#define ll long long int
using namespace std;
vector<ll> v41, v42, v61, v62, v81, v82;
vector<string> v;
void run()
{
v.push_back("00");
v.push_back("01");
v.push_back("81");

ll c = 0;
for(int i=0;i<=99;i++)
{
for(int j=0;j<=99;j++)
{
ll r = i+j;

if((r*r) == c)
{
v41.push_back(i);
v42.push_back(j);
}
c++;
}
}

c = 0;
for(int i=0;i<=999;i++)
{
for(int j=0;j<=999;j++)
{
ll r = i+j;

if((r*r) == c)
{
v61.push_back(i);
v62.push_back(j);
}
c++;
}
}

c = 0;
for(int i=0;i<=9999;i++)
{
for(int j=0;j<=9999;j++)
{
ll r = i+j;
if((r*r) == c)
{
v81.push_back(i);
v82.push_back(j);
}
c++;
}
}
}

int main()
{
ll n;
run();
while(cin >> n)
{
if(n == 0)
continue;
if(n == 2)
{
for(int i=0;i<v.size();i++)
cout << v[i] << "\n";
}
if(n == 4)
{
for(int i=0;i<v41.size();i++)
{
cout << right << setw(2) << setfill('0') << v41[i];
cout << right << setw(2) << setfill('0') << v42[i];
cout << "\n";
}
}
if(n == 6)
{
for(int i=0;i<v61.size();i++)
{
cout << right << setw(3) << setfill('0') << v61[i];
cout << right << setw(3) << setfill('0') << v62[i];
cout << "\n";
}
}
if(n == 8)
{
for(int i=0;i<v81.size();i++)
{
cout << right << setw(4) << setfill('0') << v81[i];
cout << right << setw(4) << setfill('0') << v82[i];
cout << "\n";
}
}
}

return 0;
}

Comments