第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

列出下列函數(shù) foo(2,7)的遞歸調(diào)用過程

列出下列函數(shù) foo(2,7)的遞歸調(diào)用過程

動漫人物 2022-01-02 09:05:45
void foo(int m, int n) { if(n = =0) return 1; if(n%2 = =1) return (foo(m*m,n/2)*m);return (foo(m*m,n/2));}
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

第一次執(zhí)行foo m=2 n=7 滿足if(n%2==1)語句 執(zhí)行到 return foo(4,3)*2;
第二次執(zhí)行foo m=4, n=3 滿足if(n%2==1)語句 執(zhí)行到 return foo(16,1)*4;
第三次執(zhí)行foo m=16,n=1滿足if(n%2==1)語句 執(zhí)行到 return foo(256,0)*16
第四次執(zhí)行foo m=256,n=0, 返回1;
所以第三次函數(shù)執(zhí)行結(jié)果為1*16;
第二次執(zhí)行結(jié)果為16*4;
第一次執(zhí)行結(jié)果為 64*2=128;

查看完整回答
反對 回復(fù) 2022-01-04
?
九州編程

TA貢獻1785條經(jīng)驗 獲得超4個贊

首先第1層,m=2 n=7 n%2 = =1成立執(zhí)行foo(m*m,n/2)*m也就是foo(4, 3)*2
第2層,m=4 n=3 n%2 = =1成立執(zhí)行foo(m*m,n/2)*m也就是foo(16, 1)*4
第3層,m=16 n=1 n%2 = =1成立執(zhí)行foo(m*m,n/2)*m也就是foo(256, 0)*16
第4層,m=256 n=0 n = =0成立執(zhí)行返回1
回到第3層,計算1*16,返回16
回到第2層,計算16*4,返回64
回到第1層,計算64*2,返回128
最終結(jié)果就是128
不過你的foo返回值寫錯了,不是void,應(yīng)該是int



查看完整回答
反對 回復(fù) 2022-01-04
?
蕪湖不蕪

TA貢獻1796條經(jīng)驗 獲得超7個贊

n = =0是這個遞歸函數(shù)的出口

遞歸就相當(dāng)于進棧出棧的過程,先進后出
f(2, 7) = f(4, 3) * 2 = (f(16, 1) *4 ) * 2 = ( (f(256, 0) * 16)*4)*2 = 1*16*4*2 = 128

棧結(jié)構(gòu)如下
1
f(256, 0) * 16
f(16, 1) *4
f(4, 3) * 2
f(2, 7)



查看完整回答
反對 回復(fù) 2022-01-04
  • 3 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號