0
点赞
收藏
分享

微信扫一扫

物联网技术-第4章物联网通信技术-4.1计算机网络

i奇异 2024-06-18 阅读 30

杨辉三角得规律:每行除了第一个元素和最后一个元素外,其余元素都等于上一行的同列的元素和它的左对角元素
代码块如图所示:


/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *returnColumnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
int** generate(int numRows, int* returnSize, int** returnColumnSizes) {
    int** triangle = (int**)malloc(sizeof(int*) * numRows);
    int i = 0;
    int j = 1;
    for(i = 0;i < numRows;i++)
    {
        triangle[i] = (int*)malloc(sizeof(int) * j);
        j++;
    }
    *returnSize = numRows;
    i = 0;
    j = 0;
    for(i = 0;i < numRows;i++)
    {
        for(j = 0;j <= i;j++)
        {
            if(j == 0)
                *(*(triangle + i) + j) = 1;
            else if(j == i)
               *(*(triangle + i) + j) = 1;
            else{
                *(*(triangle + i) + j) = *(*(triangle + i - 1) + j) + *(*(triangle + i - 1) + j - 1);
            }
        }
    }
    *returnColumnSizes = (int*)malloc(sizeof(int) * (*returnSize));
    i = 0;
    j = 1;
    for(i = 0;i < (*returnSize);i++)
    {
        (*returnColumnSizes)[i] = j;
        j++;
    }
    return triangle;
}
举报

相关推荐

0 条评论