38 以 C 語言撰寫的程式碼共三層 for 迴圈,留意變數 i, j, k 控制每層迴圈的執行次數,請問整個程式碼執行完一遍,最內層的 cout 指令將會執行幾次?
(A) n*10
(B)(n+1)*n*5
(C)(n+1)*n*10
(D)(n+1)*n*20
答案:登入後查看
統計: A(3), B(6), C(36), D(29), E(0) #3190156
統計: A(3), B(6), C(36), D(29), E(0) #3190156
詳解 (共 2 筆)
#6232834
其實可以直接把n換成小一點的值,改成1就是知道答案了。
因為k那一個迴圈一定會跑20次,所以程式可以改成
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
count(20次)
}
}
要看j跑了幾次,而不是看i跑了幾次,j跑了1+2+3+...+n=n*(n+1)/2
然後乘以前面的20次,n*(n+1)/2*20=n*(n+1)*10
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
count(20次)
}
}
要看j跑了幾次,而不是看i跑了幾次,j跑了1+2+3+...+n=n*(n+1)/2
然後乘以前面的20次,n*(n+1)/2*20=n*(n+1)*10
1
0