
SumOfSquare
Một số được gọi là tổng chính phương nếu nó bằng tổng của n
số chính phương a
(với a = x^2
) và n < x
, đương nhiên x
, n
phải là các số nguyên. Ví dụ, 18 = 2*(3^2)
là một tổng chính phương.
Nhập vào một số nguyên S, hãy kiểm tra nó có phải là một tổng chính phương hay không.
Ví dụ:
- Với
S = 25
thìsumOfSquare(S) = true
.
Giải thích: 25 = 1*(5^2)
, 1 < 5
nên 25
thỏa mãn điều kiện để là một tổng chính phương.
- Với
S = 27
thìsumOfSquare(S) = false
.
Giải thích: 27 = 3*(3^2)
, 3 >= 3
nên 27
không thỏa mãn điều kiện để là một tổng chính phương.
- Với
S = 10
thìsumOfSquare(S) = false
.
Giải thích: Không thể biểu diễn 10 dưới dạng n*x^2
với n
, x
là các số nguyên.
Đầu vào/Đầu ra
- [Giới hạn thời gian] 5s với C++; 3s với Java, C#; 4s với Python, GO, JS.
- [Đầu vào] Integer S
0 <= S <= 10^6
- [Đầu ra] Boolean
true
nếuS
là một tổng chính phương, ngược lạifalse
.
Post Comment