none
遞迴函數

    問題

  • 數學函數取次方值 程式碼如下:

    double basenum;
    double indexnum;
    string result = "取底數的指數次方值: "; 
    basenum = Convert.ToInt32(txtBasNum.Text);
    indexnum = Convert.ToInt32(txtIndNum.Text);
    double sequence = Math.Pow(basenum, indexnum);
    result += sequence;

    用遞迴函數取a的b次方值 應如何撰寫

    謝謝您的回覆

    2012年4月19日 上午 09:40

解答

  • 您好,
    請問一下power不就是次方了嗎?
    您是要實作一個power method?

    private void button1_Click(object sender, EventArgs e)
    {
    	MessageBox.Show(Math.Pow(2, 5).ToString()); //32
    	MessageBox.Show(MyPower(2, 5).ToString()); //32
    }
    
    private int MyPower(int a, int b)
    {
    	switch (b)
    	{
    		case 0: 
    			return 1;
    		case 1:
    			return a;
    		default:
    			return (a * MyPower(a, b - 1));
    	}
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    2012年4月19日 上午 09:56
  • 可以用遞迴函式, 將結果與次方數當參數, 再度呼叫前把次方數減1.

    就是這樣的道理, 你可以先試著寫看看. 然後再來討論遇到什麼困難.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年4月19日 上午 10:05
    版主
  • 你指的遞迴是甚麼,
    請參考  http://msdn.microsoft.com/zh-tw/library/81tad23s.aspx

    碰到題目的時候,請先了解題目,何謂是遞迴,然後嘗試著努力寫出來,
    不然永遠會不知道該怎麼運用。

    2012年4月19日 上午 10:07

所有回覆

  • 您好,
    請問一下power不就是次方了嗎?
    您是要實作一個power method?

    private void button1_Click(object sender, EventArgs e)
    {
    	MessageBox.Show(Math.Pow(2, 5).ToString()); //32
    	MessageBox.Show(MyPower(2, 5).ToString()); //32
    }
    
    private int MyPower(int a, int b)
    {
    	switch (b)
    	{
    		case 0: 
    			return 1;
    		case 1:
    			return a;
    		default:
    			return (a * MyPower(a, b - 1));
    	}
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    2012年4月19日 上午 09:56
  • 上述方式是使用Math.Pow()撰寫的 但不知可以用遞迴函數撰寫嗎 但應如何撰寫 ?

    謝謝您的回覆

    2012年4月19日 上午 10:02
  • 可以用遞迴函式, 將結果與次方數當參數, 再度呼叫前把次方數減1.

    就是這樣的道理, 你可以先試著寫看看. 然後再來討論遇到什麼困難.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年4月19日 上午 10:05
    版主
  • 你指的遞迴是甚麼,
    請參考  http://msdn.microsoft.com/zh-tw/library/81tad23s.aspx

    碰到題目的時候,請先了解題目,何謂是遞迴,然後嘗試著努力寫出來,
    不然永遠會不知道該怎麼運用。

    2012年4月19日 上午 10:07
  • 感謝...
    2012年4月19日 上午 10:47
  • 資料結構書籍在專研專研專研...

    感謝...

    2012年4月19日 上午 10:56
  • 如果有能夠幫你解答的回覆,

    也請順手的按下標示為解答吧,也是對幫助你的回覆者一個鼓勵。

    2012年4月19日 下午 03:03