这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int n,k,i,x;
cout << "Enter a row number for Pascal's Triangle: ";
cin >> n;
for(i=0;i<=n;i++)
{
x=1;
for(k=0;k<=i;k++)
{
cout << x << '\t';
x = x * (i - k) / (k + 1);
}
cout << endl;
}
return 0;
}
如何更改它以便它只显示第n行而不是整个三角形? TIA。
答案 0 :(得分:7)
只需删除外部循环:
int main()
{
cout << "Enter a row number for Pascal's Triangle: ";
cin >> n;
int x = 1;
for (int k = 0; k <= n; k++)
{
cout << x << '\t';
x = x * (n - k) / (k + 1);
}
cout << endl;
return 0;
}
答案 1 :(得分:1)
将cout << x << '\t';
更改为
if(i == n) cout << x << '\t'; // Print only last line (i = n)
cout << endl;
到
if(i == n) cout << endl; // Print after only last line (i = n)
答案 2 :(得分:1)
以下是生成Pascal三角形n
行的有效方法。
以1开始行,因为有1种方法可以选择0个元素。
对于下一个字词,乘以n
并除以1.这是因为有n
个方法可以选择1项。
对于下一个字词,乘以n-1
并除以2.有n*(n-1)
个方法可以选择2个项目,还有2种方法可以选择它们。
对于下一个字词,乘以n-2
并除以3.有n*(n-1)*(n-2)
个方法可以选择3个项目,还有2 * 3种方式可以选择。
等等。
我们一旦乘以1并除以n
就停止。
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter a row number for Pascal's Triangle: ";
cin >> n;
int x = 1;
cout << x;
for (int a = n, b = 1; b <= n; --a, ++b) {
x = x * a / b;
cout << ' ' << x;
}
cout << '\n';
return 0;
}
答案 3 :(得分:0)
您需要输入第n行的值
int i =nth Line;
for(k=0;k<=i;k++)
{
count<<fact(i)/(fact(k)*fact(i-k))<<"\t";
}
int fact(int a)
{
int j=1;
for(int i=a;i>1;i--)
{
j*=a;
a--;
}
return j;
}
i
的价值从0
开始
对于i=6
输出将为1 6 15 20 15 6 1