C語言中的帕斯卡三角:
#include <stdio.h>
#define X 15
int main(){
int tri[X][X];
for (int i=0;i<X;i ) {
tri[i][0]=1;
for(int k=X-1;k>i;k--) {
tri[i][k]=0;
}
for(int j=1;j<i 1;j ) {
tri[i][j]=tri[i-1][j-1] tri[i-1][j];
}
}
//To give the correct values to all number set elements
for (int m=0;m<X;m ) {
printf("%d\t",tri[m][0]);
for (int n=1;n<m 1;n ) {
printf("%d\t",tri[m][n]);
}
printf("\n");
}
//to print them
return 0;
}
我懷疑有更好的方法來解決這個程式使用更少的記憶體存盤,我想找到一個更好的解決方案來解決這個 C 程式。
在 C 中輸出 Pascal 三角形的最優化方法是什么?
uj5u.com熱心網友回復:
帕斯卡三角形行中的數字是二項式系數。您可以為每一行獨立計算它們:
#include <stdio.h>
#define X 15
int main(void)
{
for (int n = 0; n < X; n)
{
int c = 1;
for (int i = 1;; i)
{
printf("%d\t", c);
if (i > n)
break;
c *= n - i 1;
c /= i;
}
printf("\n");
}
return 0;
}
見:https ://en.wikipedia.org/wiki/Pascal's_triangle#Calculating_a_row_or_diagonal_by_itself
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/530470.html
標籤:C
