C 语言学习记录-OJ-5

OJ 系统 C 语言练习第五天

第一题

原题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

/* yh-rt1.c - 时间和空间最优算法
*以下的代码均用标准 C 语言写成,可以被包括 MSVC(含 VC6)、GCC 的多种 C 编译器编译
*这个算法使用只行列位置和左侧的数值算出数值:
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int s = 1, h; // 数值和高度
int i, j; // 循环计数
scanf("%d", &h); // 输入层数
printf("1\n"); // 输出第一个 1
for (i = 2; i <= h; s = 1, i++) // 行数 i 从 2 到层高
{
printf("1 "); // 第一个 1
for (j = 1; j <= i - 2; j++) // 列位置 j 绕过第一个直接开始循环
//printf("%d ", (s = (i - j) / j * s));
printf("%d ", (s = (i - j) * s / j));
printf("1\n"); // 最后一个 1,换行
}
getchar(); // 暂停等待
return 0;
}

原文链接