nebulafire
Tổng số bài gửi : 25 Join date : 06/02/2010 Age : 37
| Tiêu đề: Dãy Fabonacci Mon Feb 22, 2010 7:36 pm | |
| - Code:
-
#include <stdio.h> #include <conio.h> #include <stdlib.h>
#define MAXSTACK 100 #define TRUE 1 #define FALSE 0
struct stack{ int top; int nodes[MAXSTACK]; }; typedef struct stack STACK;
void init(STACK *ps){ ps->top=-1; }
int empty(STACK *ps){ return (ps->top==-1 ? TRUE : FALSE); }
void push(STACK *ps, int x){ if (ps->top == MAXSTACK -1) printf("\nStack bi day !"); else{ ps->nodes[++(ps->top)] = x; } }
int pop(STACK *ps){ if (empty(ps)) printf("\nStack bi rong !"); else return (ps->nodes[ps->top--]); return -1; }
void fibonacci(int n) { if (n<=2) return; int a = 0; int b = 1; int sum; int i; STACK *ps; init(ps); for (i=0;i<n;i++) { // printf("%d\n",a); push(ps, a); sum = a + b; a = b; b = sum; } while (!empty(ps)){ printf("%d ",pop(ps)); } printf("\nTong: %d", sum-1); } int main () { int n; printf("\nNhap co phan tu trong day Fibonacci ?\n"); scanf("%d",&n); fibonacci(n); getch(); return 0; }
| |
|