Re: [考題] 程式設計-手寫題

看板Examination (國家考試)作者 (Kelly Lin)時間12年前 (2013/10/01 02:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《ebubble (coffee)》之銘言: : [考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處 : 出處: 程式設計概要精修 向宏 : [92 地方特考] : 下列程式輸出為何? : CLS : S = 0 : FOR K = 1 TO 10 : FOR I = 0 TO (K - 1) : FOR J = 0 TO (K - 1) : IF I < > J THEN S = S + 1 : NEXT J : NEXT I : NEXT K : PRINT S : END : [解答] : 當 K = 1 時, I 與 J 迴圈都只執行 1 次, 其中 I = J 有 1 次, S 為 0 。 : 當 K = 2 時, I 迴圈執行 2 次, J 迴圈執行 4 次, 其中 I = J 有 2 次, S 為 2。 : 當 K = 3 時, I 迴圈執行 3 次, J 迴圈執行 9 次, 其中 I = J 有 3 次, : S 為 2 + 6 = 8。 : . : . : . : 當 K = n 時, I 迴圈執行 n 次, J 迴圈執行 (n平方) 次, 其中 I = J 有 n 次, : S 增加 (n平方 - n) : S = n (n+1) (2n+1) / 6-n (n+1) / 2 : = 10 * 11 * 21 / 6-10 * 11 / 2 : = 385 - 55 : = 330 : --------------------------------------- 設 <> 是不等於的意思 其實觀察 K=1 2 3 就可以發現到有下列規則 當k=x s為x*(x-1) 當k為1 組合為 00 s有0組 當k為2 組合為 00 01 10 11 s有2組 當k為3 組合為 00 01 02 10 11 12 20 21 22 s有6組 觀察可知 都是斜對角不算 ( 00 11 22 33... kk) 也就是 s = k*k - k => k*(k-1) 那當k=1 to 10 s = 1*0 + 2*1 + 3*2 + 4*3 + 5*4 + 6*5 + 7*6 + 8*7 + 9*8 + 10*9 = 0 + 2 + 6 + 12 + 20 + 30 + 42 + 56 + 72 + 90 = 330 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.156.229
文章代碼(AID): #1IIRr941 (Examination)
討論串 (同標題文章)
文章代碼(AID): #1IIRr941 (Examination)