给定一个正整数n(3<n<109),请编写一个函数,试着找出平方数,让它们的和值刚好等于n,返回这些平方数的个数。如果n本身是平方数则返回1。
【示例】
输入:17
输出:2
解释:17=16+1,其中16是4的平方,1是1的平方,所以能由2个平方数凑齐,因此返回2。
题目难度:中等
题目来源:codewars-Sums of Perfect Squares
def solution(n: int)-> int:
# your code here
assert solution(17) == 2
assert solution(19) == 3
assert solution(16) == 1