題目
題目將輸入8個數字,我們必須要把C(8,6)組合找出來
說明
如果這題沒有限制輸出格式會很簡單,但這題就是有限制輸出格式才會增加難度。
首先我們要先觀察規則,將輸入數字由小到大
IN7, IN6, IN5, IN4, IN3, IN2, IN1, IN0
Min Max
接著觀察利用指標控制輸出的規則
f e d c b a
5 4 3 2 1 0→一開始
如果e~a全都只差1,則f++且e=4,d=3,c=2,b=1,a=0
f e d c b a
6 4 3 2 1 0
如果(f-e>1)&&(e-d==1)&&(d-c==1)&&(c-d==1)&&(b-a==1),則e++且d=3,c=2,b=1,a=0
f e d c b a
6 5 3 2 1 0
如果(e-d>1)&&(d-c==1)&&(c-d==1)&&(b-a==1),則d++且c=2,b=1,a=0
f e d c b a
6 5 4 2 1 0
如果(d-c>1)&&(c-d==1)&&(b-a==1),則c++且b=1,a=0
f e d c b a
6 5 4 3 1 0
如果(c-b>1)&&(b-a==1),則b++且a=0
f e d c b a
6 5 4 3 2 0
如果(a<2),則a++
f e d c b a
6 5 4 3 2 1
如果e~a全都只差1,則f++且e=4,d=3,c=2,b=1,a=0
f e d c b a
7 4 3 2 1 0
程式碼
沒有留言:
張貼留言
歡迎指教或發問