7-3 打印杨辉三角
分数 10
全屏浏览题目
切换布局
作者 徐镜春
单位 浙江大学
本题要求按照规定格式打印前N行杨辉三角。
输入格式:
输入在一行中给出N(1≤N≤10)。
输出格式:
以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
输入样例:
6
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <iostream>
using namespace std;
int main()
{
int N;
int n[10][10];
cin >> N;
for (int jishu = 0; jishu < N; jishu++)
{
n[jishu][0] = 1;
n[jishu][jishu] = 1;//每行第一个最后一个到位;
}
for (int hang = 2/*第三行开始*/; hang < N/*这行结束为止*/; hang++)
{
for (int lie = 1; lie < hang; ++lie)
{
n[hang][lie] = n[hang - 1][lie - 1] + n[hang - 1][lie];
}
}
for (int hang = 0; hang < N; hang++)//保证每行没毛病;
{
for (int dian = N - 1 - hang; /*比如有六行 第一行为8*/dian > 0; dian--)//先打点;//第一行打多少点 跟最后一行有关 细节细节!
{
cout << " ";
}
for (int lie = 0; lie <= hang; lie++)
{
printf("%4d", n[hang][lie]);//妈的,这个占位符是从前往后算,所以上面会多出来
}
cout << endl;
}
return 0;
}