程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 二項展開式的系數,二項展開式系數

二項展開式的系數,二項展開式系數

編輯:關於C語言

二項展開式的系數,二項展開式系數


Description

將二項式 ( a + b )i展開,其系數構成如圖1所示的楊輝三角形,也即Pascal's trangle。想不到吧,楊輝三角形還有這種意義呢,數學裡面的知識之間的關系真是千絲萬縷啊。

         1   1                   i=1

       1   2   1                   2

     1   3   3   1                 3

   1   4   6   4   1               4

 1   5   10  10  5   1             5

1   6   15  20  15  6   1           6

圖1

現在要求將展開式系數打印出來。   規定:本題必須采用“隊列”這種數據結構來解決。

Input

有多個測試用例,每個測試用例占一行。

每行是一個整數 i, 1 ≤ i ≤ 30 。表示該二項式的冪。

Output

對每個測試用例輸出一行,從左到右輸出該二項展開式的各項的系數,各數6

2
1 6 15 20 15 6 1

1 2 1
John

就不貼完整代碼了,寫一下思路,畢竟一次AC。

剛開始看到這題,第一印象就是樹的層序遍歷,就開始ctrl+r mspaint 開始模擬過程

總的來說還是挺簡單的。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
//#include <dos.h>


typedef int ElemType;

typedef struct Node
{
    ElemType data;
    struct Node *next;
}Node;

typedef struct Queue
{
    Node * front;
    Node * rear;
    int length;
}Queue;

Queue * queue_new();
bool IsEmpty(Queue *q);
bool EnQueue(Queue *q, ElemType e);
bool DeQueue(Queue *q, ElemType *e);
void BlackBox(int n);

int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
        BlackBox(n);
    //system("pause");    
    return 0;
}

/********************************************************
*    算法:隊列中開始有兩個'1',循環i=1 to n-1次{          *
*        循環j=1 to i次{                                 *
*            1.出隊,                                    *
*            2.得到的元素與隊頭元素相加再將結果入隊 }       *
*        3.入隊'1'}                                      *
********************************************************/

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved