minlen of expression of integer
given an integer ,find 最小长度minlen 的expression of integer, minlen 定义为多少个完全平方数相加
例如 14 = 1 + 4 + 9, minlen = 3
int MinExpressionInteger(int i)
{
int k = sqrt(i);
if (k*k == i)
return 1;
int minLen = INT_MAX;
while (k > sqrt(i / 2) - 1)
{
int len = 1 + MinExpressionInteger(i - k*k);
if (minLen > len)
minLen = len;
k--;
}
return minLen;
}
posted on 2014-11-23 15:42 fatemaster 阅读(155) 评论(0) 收藏 举报
浙公网安备 33010602011771号