/* ========================================= Filename: sum_recursive.c Filedate: January 18, 2007 The program asks for positive integer n and then computes the following sum: 2 + 3 + 6 + ... + (n*n - 2*n + 3) The computation uses recursion. ========================================= */ #include #include /* ===== Declarations ====== */ int sum_up(int n); /* ===== Definitions ====== */ int sum_up(int n) { if (n == 1) { return 2; } else { return(n*n - 2*n + 3 + sum_up(n-1)); } } /* ===== Main ====== */ int main() { int n; printf("\nInput a positive integer n.\n\n"); scanf("%d", &n); printf("\nWhen n = %d,\n\n",n); printf("2 + 3 + 6 + ... + (n*n - 2*n + 3)\n\n"); printf("is: %d\n", sum_up(n)); return(0); }