求解一道C語言題。答案為什麼這麼寫

2021-03-04 08:54:25 字數 464 閱讀 1819

1樓:匿名使用者

第1堆是a[0],第2堆是a[1],第3堆是a[2]。

這裡說明一下(i+1)%3。表示用(i+1)/3取餘數。當i=2時,i+1=3,3/3餘數為0,則(i+1)%3=0。

程式的思想是倒推。首先第乙個for迴圈第一條語句執行,此時i=2。 a[(i+1)%3]表示a[0]。

a[0]/=2就是把自己本身/2,這樣第1堆火柴恢復到第3堆火柴給它火柴之前的狀態。然後a[i]+=a[(i+1)%3];這樣第3堆火柴剛剛分出去的火柴也加回來了。

然後迴圈第二遍,此時i=1。a[(i+1)%3]表示a[2]。分析思路相同……

最後陣列a中存的火柴恢復了初始狀態,迴圈輸出一遍完事。

2樓:匿名使用者

就是把過程倒過來啊

第一堆減半,加到第三堆

第三堆減半,加給第二堆

第二堆減半,加給第一堆

一道C語言程式設計題,求解大佬,一道C語言程式設計題,求解大佬

覺得你的 沒問bai題,不過可以du 再簡便zhi點,從第 4個月開始,第daon個月的數量等於第專n 1個月的屬數量第n 3個月的數量之和 include int main else for i 4 sum n i printf d yue return 0 一道c語言程式設計題!求解!急!謝謝大...

C語言積極求解,一道C語言程式設計題求解

1.若以下選項中的變數已正確定義,則正確的賦值語句是 a x1 26.8 3 b 1 2 x2 c x3 0x12 d x4 1 2 3 2.下面給出的識別符號中,能作為變數名的是 d a for b 123 c int d a b 中間一橫線在下面 3.c語言中,運算物件必須是整形數的運算是 c ...

c語言一道題,C語言一道題

程式 如下 include int main printf n printf 總和為 d n sum return 0 include void main 教材上面應該有這個啊 include long fun int a,int n int j long s 0,t 0 for j 0 j n j...