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

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

我是小白,大老求罩

我是小白,大老求罩

C
qq_獨倚靈劍醉仙樓_0 2017-08-03 14:34:59
求大佬讲讲递归,完全不懂啊,很难受。
查看完整描述

3 回答

已采納
?
fatewa

TA貢獻(xiàn)40條經(jīng)驗 獲得超8個贊

/**遞歸的函數(shù)*/
private?int?getNumber(String?str){
????int?res?=?0;
????res?=?summary(str);
????if?(res?<?10)
????????return?res;
????else
????return?getNumber(String.valueOf(res));
}

/**
?*?計算各個位數(shù)字總和的函數(shù)
?*?@param?number?傳入的參數(shù)
?*?@return?返回的結(jié)果
?*/
private?int?summary(String?number){
????int?res?=?0;
????for?(int?i?=?0;i<number.length();i++){
????????res?+=?Integer.valueOf(String.valueOf(number.charAt(i)));
????}
????return?res;
}

這是我之前在浙大ACM上做過的一道題目用的就是遞歸你可以參考一下

這是Java語言的

查看完整回答
反對 回復(fù) 2017-08-03
?
qq_獨倚靈劍醉仙樓_0

TA貢獻(xiàn)3條經(jīng)驗 獲得超0個贊

大佬能講講return n和n=getnumber的意思作用運算過程嗎?小白真的謝謝了。?

查看完整回答
反對 回復(fù) 2017-08-03
?
fatewa

TA貢獻(xiàn)40條經(jīng)驗 獲得超8個贊

#include<stdio.h>
int?getNumber(int?n){
	n?+=?1;
	printf("N=?%d\n",n);
	if?(n>20)
		return?n;?//當(dāng)遞歸達(dá)到了條件返回n的當(dāng)前數(shù)值來跳出遞歸
	else
?		getNumber(n);?//如果沒有達(dá)到條件就調(diào)用自身
?	
}
int?main(){
	printf("%d\n",getNumber(6));
	//調(diào)用getNumber();后進(jìn)入第一次遞歸
	/**
	getNumber(6){
	n?+=?1;?此時?n?=?7
	printf("N=?%d\n",n);?//輸出了一條?N=?7
	if?(n>20)?//進(jìn)入條件判斷?7?<?20?所以進(jìn)入else的代碼塊?
		return?n;?
		//當(dāng)遞歸到了?21?開始大于?20?了就跳出遞歸
	else
?		getNumber(n);?
?		//此時相當(dāng)于又進(jìn)行了一次getNumber(7);?過程與getNumber(6);一樣???????????
?	}
	*/
	return?0;
}

簡單的例子 當(dāng)n小于20時候一直遞歸,等到大于20了在返回

附一張運行圖

http://img1.sycdn.imooc.com//598300580001c6b503940316.jpg


查看完整回答
反對 回復(fù) 2017-08-03
?
fatewa

TA貢獻(xiàn)40條經(jīng)驗 獲得超8個贊

簡單的說就是在函數(shù)中調(diào)用自己本身 等達(dá)到一定條件以后再跳出。

查看完整回答
反對 回復(fù) 2017-08-03
  • 3 回答
  • 1 關(guān)注
  • 1991 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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