2017年3月2日 星期四

給新手的C++教學 (上冊) - 13 - 16. 函式的遞迴

回到「給新手的C++教學 (上冊)」

回到「13. 額外語法 (Extra syntax)」

上一頁

註: 小莫使用的程式碼上色網站掛掉了,因此本頁的程式碼都沒有顏色,等該網站恢復之後會再進行程式碼上色的動作,暫時造成不便敬請見諒。若您發現該網站已經恢復運作,本頁程式碼卻還沒更新,也歡迎以各種方式提醒小莫哦~ ^_^

遞迴?甚麼是遞迴呢?
其實數學也有遞迴哦~
不知道也沒關係,因為小莫高一學程式的時候也完全沒聽過「遞迴」這個字眼XD
反正就是個專有名詞嘛XD,概念其實不難~

舉個例子,現在小莫創造一個函式$f$,當$n=1$時會回傳$1$,$n=2$時也會回傳$1$:

#include<cstdio>
int f(int n)
{
    if(n==1||n==2) return 1;
    printf("無法處理這個n\n");
    return -1;
}
int main()
{
    printf("f(1)=%d\n",f(1));
    printf("f(2)=%d\n",f(2));
    return 0;
}

那$n=3$呢?小莫想要讓它回傳「$f(1)+f(2)$」
甚麼意思?
$f(1)=1$,$f(2)=1$,所以$f(3)=f(1)+f(2)=1+1=2$啦
也就是當$n=3$時會回傳$2$,只是這個$2$是被計算出來的

那$n=4$呢?小莫想要讓它回傳「$f(2)+f(3)$」
$f(2)=1$,$f(3)=2$,所以$f(4)=f(2)+f(3)=1+2=3$啦
也就是當$n=4$時會回傳$3$,只是這個$3$是被計算出來的

那$n>4$呢?相信您已經猜到了,只要$n>2$,小莫想要讓它回傳的就是$f(n-2)+f(n-1)$!

那$f$這個函式的程式碼要怎麼寫呢?不用怕,電腦學過C++,很聰明的,直接寫出來,看看電腦能不能看懂!

2017年2月10日 星期五

[小工具]線上質數判定

使用方法:
  1. 將數字輸入右側文字框
  2. 左側將立即顯示該數字是否為質數 (支援多行哦!)
發現任何問題要講哦~小莫才能知道哪裡需要改善^_^
Here:

2016年12月23日 星期五

給新手的C++教學 (上冊) - 13 - 10. 轉型

回到「給新手的C++教學 (上冊)」

回到「13. 額外語法 (Extra syntax)」

上一頁

註: 小莫使用的程式碼上色網站掛掉了,因此本頁的程式碼都沒有顏色,等該網站恢復之後會再進行程式碼上色的動作,暫時造成不便敬請見諒。若您發現該網站已經恢復運作,本頁程式碼卻還沒更新,也歡迎以各種方式提醒小莫哦~ ^_^

顧名思義,「轉型」就是「轉換型別」
「將某個小數無條件捨去到整數位」就是「從float『轉型』到int」的一個例子
因為小數位不見會變成整數 (int) 嘛XD

不過,「轉型」並不是把某個變數a的型別從float「變成」int,而是依據a的值「產生」一個int變數,其值接近型別為float的a (為甚麼說接近? 因為你不可能把一個int變數的值設定成2.4,頂多設定成2或3)

那麼,要怎麼將一個變數「轉型」呢?

2016年12月19日 星期一

小莫演講用過的ppt下載

以下是小莫參加過的演講,用的ppt都是從上一場演講修改來的XD

  1. 高雄中學105級科學班專題成果發表會《 Möbius 》

2016年11月23日 星期三

Digging Game 3開發之路 - 第1站:猜數字遊戲 (Number guessing game)

回到「Digging Game 3開發之路」

Digging Game 3開發之路

咦? 你不知道Digging Game是甚麼?趕快看一下行前介紹吧~

Digging Game 3開發之路
↓行程表↓


2016年11月21日 星期一