c語言程式解析,C語言程式解析

2022-02-08 01:09:07 字數 3344 閱讀 1986

1樓:紅爍務齊

樓主給的東西不是很完整啊,看看是不是你要的結果。

void

init()

/*遍歷時顯示每個結點的過程*/

void

drawnode(tree

*t,int

color)

2樓:伽羅林克

t=t*p%c; %號優先順序最高,

i = 1 時 t = t * 2 %2009 = 1*2 =2

s=(s+t)%c; ()優先順序最高

以此類推

所以結果如下:

11 2

i=1 t=2

j=1 s=2

i=2 t=4j=1 s=6   j=2 s=10

i=3 t=8j=1 s=18   j=2 s=26   j=3 s=34

i=4 t=16j=1 s=50   j=2 s=66   j=3 s=82   j=4 s=98

i=5 t=32j=1 s=130   j=2 s=162   j=3 s=194   j=4 s=226   j=5 s=258

i=6 t=64j=1 s=322   j=2 s=386   j=3 s=450   j=4 s=514   j=5 s=578   j=6 s=642

i=7 t=128

j=1 s=770   j=2 s=898   j=3 s=1026   j=4 s=1154   j=5 s=1282   j=6 s=1410   j=7

s=1538

i=8 t=256

j=1 s=1794   j=2 s=41   j=3 s=297   j=4 s=553   j=5 s=809   j=6 s=1065   j=7 s=1

321   j=8 s=1577

i=9 t=512

j=1 s=80   j=2 s=592   j=3 s=1104   j=4 s=1616   j=5 s=119   j=6 s=631   j=7 s=1

143   j=8 s=1655   j=9 s=158

i=10 t=1024

j=1 s=1182   j=2 s=197   j=3 s=1221   j=4 s=236   j=5 s=1260   j=6 s=275   j=7 s

=1299   j=8 s=314   j=9 s=1338   j=10 s=353

i=11 t=39

j=1 s=392   j=2 s=431   j=3 s=470   j=4 s=509   j=5 s=548   j=6 s=587   j=7 s=62

6   j=8 s=665   j=9 s=704   j=10 s=743   j=11 s=782   782

3樓:匿名使用者

一看就是個數列問題

從n =1, p t=1*p%2009, s=(s+t)%2009

n =2 , p i=1: t =1*p%2009 s=((s+t)%2009 +t) /2009

i=2: t=(1*p%2009)*p%2009 j=1: s= (((s+t)%2009 +t)%2009+t)%2009

j=2: s=((((s+t)%2009 +t)%2009+t)%2009 +t)%2009

n =3,p i=1: t =1*p%2009 s=(((s+t)%2009 +t)%2009+t)%2009

i=2 t=(1*p%2009)*p%2009 j=1: s=((((s+t)%2009 +t)%2009+t)%2009 +t)/2009

j=2:

看出這裡在p比較小時t=p s比較像 1 2×1/2 2×3/2 .。。。。的型別的數列相加的和

4樓:匿名使用者

(2+4+4+8+8+8+16*4+32*5+64*6+128*7+256*8+512*9+1024*10+(2048-2009)*11)除以2009的餘數是782

5樓:匿名使用者

誰給你出的題目?真噁心。

s的通項是(2^n)^n的累加(1--n);即2 + (2^2)^2 + ... ....+(2^n)^n;(記得結果要%2009一下)

至於解析,我只能說自己慢慢分析,一步一步分析。

6樓:匿名使用者

類似**如下,

對於先取整再求和  與 先求和再取整 是一樣的t = 1; s = 0;

for (i = 1; i <= n; i++)t = t*p%c;

s = s+i*t;

s = s%c;

printf("%d\n",s);

7樓:匿名使用者

給個題目也好啊,給你分析下這麼解的原因,這個真不好解釋.....

8樓:buta丶瀟

#include

const int c=2009;

int main()

printf("%d\n",s);

return 0;

}//當i=1時,t=1*2%2009,得t=2.然後進入迴圈2迴圈1次,得到s=(0+2)%2009,得s=2;

//當i=2時,t=2*2%2009,得t=4,然後進入迴圈2迴圈2次:第一次得到s=(2+4)%2009,即s=6;第二次s=(6+4)%2009,得s=10;

//當i=3時,t=4*2%2009,得t=8,然後進入迴圈2迴圈3次...

//...以此類推執行n次迴圈1,即11次.迴圈2執行了(1+2+3+..+11)次,最後得到s.

9樓:匿名使用者

這不是寫出來了啊 要求弄啥啊

10樓:匿名使用者

你**不懂呢,這不就是2個for迴圈麼

c語言程式解析

11樓:mis_丫

static int m = 0,i =2static的緣故,在fun函式結束的時候並不釋放m和i的記憶體第一次fun結束m = 5,i = 3,但不釋放m和i的記憶體,第二次開始m = 5,i = 3;

第二次結束m就是11;

ps:fun函式裡面的m和main裡面的m是不一樣的

12樓:哲學家超人

第一次呼叫fun前,m=0,i=2,結果是i=3,m=5,返回m

第二次呼叫前,m=5,i=3,結果是i=9,m=11,返回m

m,i的屬性是static int,即靜態變數,它可以保留上次被呼叫的執行結果(當然重啟程式就不能保留了)

13樓:匿名使用者

這個 最簡單的 任何一本書裡都有

C語言程式題,c語言程式題

int f int x 這裡是函式的宣告,c語言中函式必須先宣告後呼叫,因為在main方法中呼叫了這個函式,函式的定義在main方法下面,所以必須宣告在main方法開頭。int f int x 是一個函式,這函式在main函式之前有宣告的,宣告之後,就可以在main函式中呼叫。int f int x...

c語言有以下程式c語言有以下c程式includestdiohintmain

第一次進switch的bai時候du由於你的case 0 printf another n 後面沒有zhibreak 所以繼續執行了case 1 printf number n 結果就dao列印出來了 another number 第二專次switch的時候關於字元 1 匹配屬 case 1 pri...

c語言程式ais與,c語言程式 a i s與a i s有區別嗎?

a i s 這個a i 必須是地址才對所以表達是錯誤的,應該 a i s 或者 定義一個指標 p a i 那麼 a i s 和p s是等價的,沒有區別 你這個a是一個結構體組成的陣列或者結構體指標組成的陣列吧 如果是前者,就是用a i s,如果是後者,就用a i s 因為結構體和結構體指標獲取屬性就...