核心思想:第一步:先建立佇列1存放0,1,0三個數,再建立乙個空佇列2,首位置添0,取0,1相加進入 佇列2,取1,0相加進入佇列2,然後佇列2末尾添0,清空佇列1
第二步:佇列1首尾添0,取佇列2前兩位相加進入佇列1,取佇列2第2,3位相加進入佇列1.......佇列1末尾添0;
如此往復,寫出楊輝三角形
#ifndef _yanghui_h
#define _yanghui_h
#define success 10000
#define failure 10001
#define size 100
struct senquencequeue1
;typedef struct senquencequeue1 queue1;
struct senquencequeue2
;typedef struct senquencequeue2 queue2;
int q1init(queue1 *q1);
int q2init(queue2 *q2);
int yanghui(queue1 *q1, queue2 *q2);
#endif
#include "yanghui.h"
#include int q1init(queue1 *q1)
q1->rear1 = q1->front1 = 0;
return success;
}int q2init(queue2 *q2)
q2->rear2 = q2->front2 = 0;
return success;
}int q1enter(queue1 *q1)
q1->data1[q1->front1] = 0;
q1->rear1 = (q1->rear1 + 1) % size;
q1->data1[q1->rear1] = 1;
q1->rear1 = (q1->rear1 + 1) % size;
q1->data1[q1->rear1] = 0;
q1->rear1 = (q1->rear1 + 1) % size;
return success;
}
int yanghui(queue1 *q1, queue2 *q2)
printf("請輸入需要顯示的行數!\n");
scanf("%d", &n);
while(1)
printf("\n");
q2->data2[q2->rear2] = 0;
q2->rear2 = (q2->rear2 + 1) % size;//佇列2起始添0
while(q1->rear1 != q1->front1)
q1->rear1 = q1->front1 = 0;//清空佇列1
k++;
if(k == n)
for(i = 0; i < q2->rear2; i++)
printf("\n");
q1->data1[q1->rear1] = 0;
q1->rear1 = (q1->rear1 + 1) % size;//佇列1起始添0
while(q2->rear2 != q2->front2)
q2->rear2 = q2->front2= 0;//清空佇列2
k++;
if(k == n)
}}
#include "yanghui.h"
#include int main()
else
ret = q2init(&q2);
if(ret == failure)
else
ret = q1enter(&q1);
if(ret == failure)
else
ret = yanghui(&q1,&q2);
if(ret == failure)
}
用迴圈佇列寫楊輝三角形
用迴圈佇列寫楊輝三角形 include using namespace std const int maxsize 100 template class sqqueueclass 非迴圈隊佇列類模板 template sqqueueclass sqqueueclass 建構函式 template s...
楊輝三角形
關於楊輝三角的論述 問題描述 楊輝三角形又稱pascal 三角形,它的第 i 1行是 a b i 的展開式的係數。它的乙個重要性質是 三角形中的每個數字等於它兩肩上的數字相加。下面給出了楊輝三角形的前4行 1 11 2 1 1 3 3 1 給出n,輸出它的前n行。輸入格式 輸入包含乙個數n。輸出格式...
楊輝三角形
基礎練習 楊輝三角形 時間限制 1.0s 記憶體限制 256.0mb 錦囊1 錦囊2 錦囊3 問題描述 楊輝三角形又稱pascal三角形,它的第i 1行是 a b i 的展開式的係數。它的乙個重要性質是 三角形中的每個數字等於它兩肩上的數字相加。下面給出了楊輝三角形的前4行 1 11 2 1 1 3...