計數和
最簡單的等差級數,首項為1,公差為1,前 n 項的和為
s = 1+2 +3 + ... + n

若遞迴函數 sum(n) = 1+2+3+...+n,
則 f(n-1) = 1+2+3+...+(n-1)

f(n) = f(n-1)+n

則下列函數的設計方式如下:

遞迴兩個主要因素:
A. f(n) 與 f(n-1) 的關係為 f(n) = f(n-1) + n
B. sum(1) = 1


迴圈版遞迴版
int main(){
int i,s,n;
scanf("%d",&n);
for(s=0,i=1;i<=n;i++)
    s+=i;
printf("1+2+...+n = %d\n",s);
return(0);
}
#include <stdio.h>
#include <stdlib.h>

int sum(int n){
if(n==1)
    return(1);
else
    return( sum(n-1)+n );
}

int main(){
int n;
scanf("%d",&n);
printf("1+2+...+n = %d\n",sum(n));
return(0);
}