题解 | 杨辉三角 朴实的二项式递推

杨辉三角

https://www.nowcoder.com/practice/8c6984f3dc664ef0a305c24e1473729e

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);  // 读取输入的行数n
    for (int i = 0; i < n; i++) {  // 遍历每一行(i为行号,从0开始)
        long long int num = 1;  // 每行第一个元素固定为1(C(i,0)=1)
        for (int j = 0; j <= i; j++) {  // 遍历当前行的每个元素(j为列号)
            printf("%lld", num);  // 输出当前元素
            // 组合数递推:C(i,j+1) = C(i,j) * (i-j) / (j+1)
            num = num * (i - j) / (j + 1);
            if (j != i) printf(" ");  // 非行末元素后加空格(避免行尾多余空格)
        }
        printf("\n");  // 换行
    }
    return 0;
}

全部评论

相关推荐

想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务