View Full Version : Kiểm tra 1 số có thuộc dãy Fibonacci hay không?
LieuKyThien
09-05-2009, 09:09 PM
#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();
}
TruTra
14-05-2009, 09:17 AM
#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;
}
integer
29-05-2010, 11:40 AM
không dùng biến flag cũng được mà
if(n==fb(i))
{
printf("%d thuoc day fibonacci",n);
break;
}
else printf("%d khong thuoc day fibonacci",n);
Powered by vBulletin® Version 4.1.7 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.