intnumSquares(int n) { if (n % 8 == 7) return4; for (int i = n; i % 4 == 0;) { i /= 4; if (i % 8 == 7) return4; } if (sqr((int)sqrt(n)) == n) return1; for (int i = 1; sqr(i) <= n; i++) { if (sqr((int)sqrt(n - sqr(i))) == n - sqr(i)) return2; } return3; }