Kiểm tra 1 số có thuộc dãy Fibonacci hay không?

Thảo luận trong 'Thuật toán' bắt đầu bởi LieuKyThien, 9 Tháng năm 2009.

  1. Offline

    LieuKyThien

    • Thành Viên Mới

    Số bài viết:
    79
    Đã được thích:
    49
    Điểm thành tích:
    0
    Mã:
    #include<conio.h>
    #include<stdio.h>
    int fb(int n)
    {
    	if(n==1||n==0||n==2||n==3) return n;
       return fb(n-2)+fb(n-1);
    }
    void main()
    {
    	clrscr();
       int i,n,flag=0;
       scanf("%d",&n);
       for(i=0;i<=n;i++)
       	if(n==fb(i))
           {
           	flag=1;
             break;
           }
       if(flag==1) printf("%d thuoc day fibonacci",n);
       else printf("%d khong thuoc day fibonacci",n);
       getch();
    }
    Seshoumaruinteger thích bài này.
  2. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Cái Này Là In ra Day fenoci gi do ne có ca chu thich

    #include<iostream.h>
    int main()
    {
    int a,b;
    cout<<"Nhap vao hai so:";
    cin>>a>>b;
    //while((a<=10)&&(b<=10))
    //{
    // cout<<a<<" "<<b<<" ";
    // a=a+b;
    // b=a+b;
    // }
    //doi voi cau truc for ta lam nhu sau
    //for(a;a<=10;a=a+b)
    //{
    //cout<<b<<a;
    //b=a+b;
    //}
    // tai sao khi cout b den a thi dung?khi thuc hien b=a+b thi
    // no se thuc hien update bien b len
    // thu tu nhu sau a=1,b=1 in ra 1 va 1
    // sau do b=1+1=2 roai moi update a o bieu thuc for a=1+2=3
    //doi voi do while
    do
    {
    cout<<a<<b;
    a=a+b;
    b=a+b;
    }
    while((a<=10)&&(b<=10));
    // o cau 65 yeu cau hien thi so thu tu ta phai dung cau truc long
    //khai bao them 1 bien i,gan gia tri ban dau i=1
    //trong than cua cac ham while or for... lam nhu sau
    //cout<<a<<i;
    //i++
    //cout<<b<<i; con lai lam tuong tu
    return 0;
    }
    Seshoumaru thích bài này.
  3. Offline

    integer

    • Tiếu Ngạo Giang Hồ

    • :-?
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    không dùng biến flag cũng được mà
    Mã:
    if(n==fb(i))
           {
           	printf("%d thuoc day fibonacci",n);
             break;
           }
    else printf("%d khong thuoc day fibonacci",n);
    
    

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí