求给定数等于最少的几个完全平方数之和

来源:互联网 发布:北京市大数据公司 编辑:程序博客网 时间:2024/05/02 00:10
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;}

0 0