資源簡介 4.2非數(shù)值計算 練習(xí)題1.以下選項中,對于遞歸程序的描述錯誤的是( )A.遞歸程序都可以有非遞歸編寫方法B.執(zhí)行效率高C.一定要有基例D.書寫簡單2.下列能用二分查找解決問題的序列是( )A. 1,2,5,9,19,28,73B. 9,8,5,3,2,14,33C. 1,3,5,7,9,11,13D. 98,65,44,23,47,23.重復(fù)調(diào)用自身的函數(shù)是( )A. 迭代B. 遞歸C. 二分查找D. 均不是4.關(guān)于遞歸函數(shù)的描述,以下選項中正確的是( )A.函數(shù)比較復(fù)雜B.包含一個循環(huán)結(jié)構(gòu)C.函數(shù)名稱作為返回值D.函數(shù)內(nèi)部包含對本函數(shù)的再次調(diào)用5.根據(jù)題目不補全下列代碼。題目:某路公共汽車,總共有八站,從一號站發(fā)軒時車上已有n位乘客,到了第二站先下一半乘客,再上來了六位乘客;到了第三站也先下一半乘客,再上來了五位乘客,以后每到一站都先下車上已有的一半乘客,再上來了乘客比前一站少一個……,到了終點站車上還有乘客六人,問發(fā)車時車上的乘客有多少?def num(i):if i == ① : # 終點站return ②else:return (num(i+1)-8+i)*2i = eval(input())print(num(i))6.根據(jù)題目不補全下列代碼。題目:有一群猴子摘來了一批桃子,猴王規(guī)定每天只準(zhǔn)吃一半加一只(即第二天吃剩下的一半加一只,以此類推),第九天正好吃完,問猴子們摘來了多少桃子?def peach(n):if ① :return 0elif n == 9:return 2 # 第九天還有兩個桃子,都被吃了else:return (peach(n+1)+1)*2print("猴子們摘來了:{}個桃子".format(peach(1)))s = peach(1)for i in range( ② , ③ ):print("第{}天吃了{}個桃子,剩余桃子數(shù)為{}". format(i, s-peach(i+1), peach(i+1)))s = peach(i+1)7.迭代和遞歸的相同點與不同點。答案:第1題:B第2題:C第3題:B第4題:D第5題:① 8 ② 6第6題:① N>9 ② 1 ③ 10第7題:相同點:都需要重復(fù)執(zhí)行某些代碼不同點:重復(fù)內(nèi)容不同:迭代是重復(fù)反饋過程的活動,其目的通常是逼近所需目標(biāo)或結(jié)果。遞歸是重復(fù)調(diào)用函數(shù)自身。結(jié)束條件不同:遞歸中,遇到滿足終止條件的情況時逐層返回。迭代則通常使用計數(shù)器結(jié)束循環(huán)。 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫