有关拼凑正方形的问题一般都和欧几里德或者扩展欧几里德有关,至少一般会和最大公约数有关【我什么都没说过啊..我没有!我不是!】
https://acm.ecnu.edu.cn/contest/69/problem/A/
题意:给一个正方形【边长为n】,若干长方形【长为x,宽为y】,问能否拼凑出一个大正方形来【其中必须至少用一个长方形并且必须使用那个小正方形】
首先如果要能拼凑出一个正方形,必须有 ax+by=n 有解
证明:设大正方形的边长为 X ,则拼凑过程必有 X=k1x+m1y+n 且X=k2x+m2y【两个等式分别对应包含小正方形的行和不包含小正方形的行】,则整理可得(k2-k1)x+(m2-m1)y=n,也就是ax+by=n有解,得证。
而由扩展欧几里德可知,n是gcd(x,y)的倍数时必有解否则必定无解。