Problem «Square»
Let the pencil move by the line and put crosses through every (n + 1) point. Lets associate every point on the line with point on square perimeter. Namely, point x on the line will be associated with point on square perimeter that we will reach if we move pencil around square to x clockwise. Then lower left corner will be associated with all points 4np for every non-negative integer p. Crosses will be associated with points k(n + 1) for some non-negative k. Nearest point of overlap of two families of points will be in point LCM(n + 1, 4n). Then we will put crosses.
AC code:
#include <iostream>
using namespace std;
int main()
{
int T;
long long n;
cin>>T;
while(T--)
{
cin>>n;
long long a=4*n,b=n+1,r=a%b;
while(r)
{
a=b;
b=r;
r=a%b;
}
long long cross=4*n/b+1;
cout<<cross<<endl;
}
return 0;
}