HDU ACM 5224 Tom and paper水題+暴力列挙


解析:長さも幅も整数なので、列挙して整数かどうかを判断し、最小を取ればよい.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int min;
	int a,i,T;

	ios::sync_with_stdio(false);
	cin>>T;
	while(T--)
	{
		cin>>a;
		min=1000000000;
		for(i=1;i<=sqrt(a);i++)
			if(a%i==0 && min>i+a/i)
				min=i+a/i;
		cout<<min*2<<endl;
	}
    return 0;
}