『壹』 編程序輸出楊輝三角,用一個函數實現
#include<stdio.h>
int main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制輸入正確的值以保證屏幕顯示的圖形正確*/
for(i=0;i<=n;i++) /*控制輸出N行*/
{
for(j-0;j<24-2*i;j++) printf(" "); /*控制輸出第i行前面的空格專*/
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*輸出第i行的第屬j個值*/
printf("\n");
}
}
void int c(int x,int y) /*求楊輝三角形中第x行第y列的值*/
{
int z;
if((y==1)||(y==x+1)) return 1; /*若為x行的第1或第x+1列,則輸出1*/
z=c(x-1,y-1)+c(x-1,y); /*否則,其值為前一行中第y-1列與第y列值之和*/
return z;
}
『貳』 用c語言編寫程序 輸出楊輝三角
程序:
#include<stdio.h>
int main()
int n,i,j,a[100];
n=10;
printf(" 1");
printf(" ");
a[1]=a[2]=1;
printf("%3d%3d ",a[1],a[2]);
for(i=3;i<=n;i++)
{
a[1]=a[i]=1;
for(j=i-1;j>1;j--)
a[j]=a[j]+a[j-1];
for(j=1;j<=i;j++)
printf("%3d",a[j]);
printf(" ");
}
return 0;
}
應用
與楊輝三角聯系最緊密的是二項式乘方展開式的系數規律,即二項式定理。例如在楊輝三角中,第3行的三個數恰好對應著兩數和的平方的展開式的每一項的系數(性質 8),第4行的四個數恰好依次對應兩數和的立方的展開式的每一項的系數。
以上內容參考:網路-楊輝三角
『叄』 請編一程序輸出以下的楊輝三角形,要求輸出10行
文章有錯誤,我要報錯 到論壇交流、討論 對該文章進行評論 進入VIP視頻站下載視頻- import java.math.BigInteger;/** * 類名: TestYangHuiSanJiao 說明: 用三種方法輸出"楊輝三角" 注: 最簡單的方法就是是定義一個二維數組, 保存產生的所有"楊輝三角"值, 但是如果要輸入一個比較大的"楊輝三角"(如 * 100000行),就必需申請一個100000 * 100000的數組,那就需要37多G的內存,正常工作或者家用電腦應該沒有能達到這個 要求的,就算是10000 * 10000 的數組也需要400M左右的內存. * 所以,只需要記錄對後面計算有用的"楊輝三角"值. */public class TestYangHuiSanJiao{ public static void main(String[] args) { YangHui2 yangHuiTest = new YangHui2(100); yangHuiTest.printYangHui(); }}/** * 類名: YangHui2 說明: 定義一個一維數組,記錄當前行的值注: 數組初始狀態為上一行元素, 修改其值使之成為當前行的元素值."即:當前元素的值 * 為前一元素與當前元素的和",當前元素在計算下一元素時會用到,所以在覆蓋當前元素之前必需保留其初始值參與下次運算 */class YangHui2{ BigInteger[] arr1; // 定義數組記錄上一行的值, 在其基礎上計算得到當前行的值 int intNum; // 記錄"楊輝三角"行數 /** * 入口參數: "楊輝三角"行數 說明: 類變數初始化過程 */ YangHui2(int intNum) // 構造函數 { arr1 = new BigInteger[intNum]; // "楊輝三角"一行最多有N個值,根據需要定義數組大小 this.intNum = intNum; // 記錄"楊輝三角"行數 arr1[0] = BigInteger.valueOf(1); // 第一個元素為1 for (int i = 1; i < arr1.length; i++) // 對象數組初始化過程 { arr1[i] = BigInteger.valueOf(0); } } void printYangHui() // 計算並列印"楊輝三角" { BigInteger longTmp; // 定義變數記錄當前元素值 BigInteger longTmp2; // 定義變數記錄前一元素值 // 說明: 保存當前元素值用於下次計算 for (int i = 1; i <= intNum; i++) // 進入循環,開始計算列印"楊輝三角" { longTmp2 = BigInteger.valueOf(0); // 進入新行計算時清空前一元素值, 在本行計算中會賦新值 for (int j = 0; j < i; j++) { longTmp = arr1[j]; // 記錄當前元素的初始值 arr1[j] = longTmp2.add(arr1[j]); // 當前元素的值為前一元素(longTmp2)與當前元素的和 longTmp2 = longTmp; // 當前元素初始值作為下一計算的前一元素運用 System.out.print(arr1[j] + "\t"); // 列印 } System.out.println(); // 換行 } }} 文章出處:DIY部落( http://www.diybl.com/course/4_webprogram/jsp/jsp_js/20090304/157838.html)